SecureString 构造函数 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 SecureString 类的新实例。
重载
| SecureString() | 初始化 SecureString 类的新实例。 | 
| SecureString(Char*, Int32) | 用 Char 对象的子数组初始化 SecureString 类的新实例。 此构造函数不符合 CLS。 符合 CLS 的替代方法是 SecureString()。 | 
SecureString()
- Source:
- SecureString.cs
- Source:
- SecureString.cs
- Source:
- SecureString.cs
初始化 SecureString 类的新实例。
public:
 SecureString();public SecureString ();Public Sub New ()例外
保护或取消保护此实例的值时出错。
此平台上不支持此操作。
示例
以下示例使用默认 (或无参数) 构造函数来实例化新 SecureString 对象。 然后, AppendChar 它调用 方法以向其添加字符数组。
using namespace System;
using namespace System::Security;
int main(array<System::String ^> ^args)
{
   // Define the string value to assign to a new secure string.
   Char chars[4] = { 't', 'e', 's', 't' };
   // Instantiate the secure string.
   SecureString^ testString = gcnew SecureString();
   // Assign the character array to the secure string.
   for each (Char ch in chars)
   {
      testString->AppendChar(ch);
   }   
   // Display secure string length.
   Console::WriteLine("The length of the string is {0} characters.", 
                        testString->Length);
   delete testString;
   return 0;
}
// The example displays the following output:
//      The length of the string is 4 characters.
using System;
using System.Security;
public class Example
{
   public static void Main()
   {
      // Define the string value to assign to a new secure string.
      char[] chars = { 't', 'e', 's', 't' };
      // Instantiate the secure string.
      SecureString testString = new SecureString();
      // Assign the character array to the secure string.
      foreach (char ch in chars)
         testString.AppendChar(ch);      
      // Display secure string length.
      Console.WriteLine("The length of the string is {0} characters.", 
                        testString.Length);
      testString.Dispose();
   }
}
// The example displays the following output:
//      The length of the string is 4 characters.
Imports System.Security
Module Example
   Public Sub Main()
      ' Define the string value to assign to a new secure string.
      Dim chars() As Char = { "t"c, "e"c, "s"c, "t"c }
      ' Instantiate the secure string.
      Dim testString As SecureString = New SecureString()
      ' Assign the character array to the secure string.
      For Each ch As char In chars
         testString.AppendChar(ch)
      Next         
      ' Display secure string length.
      Console.WriteLine("The length of the string is {0} characters.", _ 
                        testString.Length)
      testString.Dispose()
   End Sub
End Module
' The example displays the following output:
'      The length of the string is 4 characters.
以下示例从 对象的 值创建 SecureString 对象 String 。
using namespace System;
using namespace System::Security;
int main(array<System::String ^> ^args)
{
   // Define the string value to be assigned to the secure string.
   String^ initString = "TestString";
   // Instantiate the secure string.
   SecureString^ testString = gcnew SecureString();
   // Assign the character array to the secure string.
   for each (Char ch in initString)
   {
      testString->AppendChar(ch);
   }   
   // Display secure string length.
   Console::WriteLine("The length of the string is {0} characters.", 
                        testString->Length);
   delete testString;
   return 0;
}
// The example displays the following output:
//      The length of the string is 10 characters.
using System;
using System.Security;
public class Example
{
   public static void Main()
   {
      // Define the string value to be assigned to the secure string.
      string initString = "TestString";
      // Instantiate the secure string.
      SecureString testString = new SecureString();
      // Use the AppendChar method to add each char value to the secure string.
      foreach (char ch in initString)
         testString.AppendChar(ch);
         
      // Display secure string length.
      Console.WriteLine("The length of the string is {0} characters.", 
                        testString.Length);
      testString.Dispose();
   }
}
// The example displays the following output:
//      The length of the string is 10 characters.
Imports System.Security
Module Example
   Public Sub Main()
      ' Define the string value to be assigned to the secure string.
      Dim initString As String = "TestString"
      ' Instantiate the secure string.
      Dim testString As SecureString = New SecureString()
      ' Use the AppendChar method to add each char value to the secure string.
      For Each ch As Char In initString
         testString.AppendChar(ch)
      Next   
      ' Display secure string length.
      Console.WriteLine("The length of the string is {0} characters.", _ 
                        testString.Length)
      testString.Dispose()
   End Sub
End Module
' The example displays the following output:
'      The length of the string is 10 characters.
适用于
SecureString(Char*, Int32)
- Source:
- SecureString.cs
- Source:
- SecureString.cs
- Source:
- SecureString.cs
重要
此 API 不符合 CLS。
用 Char 对象的子数组初始化 SecureString 类的新实例。
此构造函数不符合 CLS。 符合 CLS 的替代方法是 SecureString()。
public:
 SecureString(char* value, int length);[System.CLSCompliant(false)]
public SecureString (char* value, int length);[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public SecureString (char* value, int length);[<System.CLSCompliant(false)>]
new System.Security.SecureString : nativeptr<char> * int -> System.Security.SecureString[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
new System.Security.SecureString : nativeptr<char> * int -> System.Security.SecureString参数
- length
- Int32
要包括到新实例中的 value 的元素数。
- 属性
例外
              value 为 null。
              length 小于零或大于 65,536。
保护或取消保护此安全字符串的值时出错。
此平台上不支持此操作。
示例
以下示例通过向其构造函数传递指向字符数组的指针来实例化新 SecureString 对象。
using namespace System;
using namespace System::Security;
int main(array<System::String ^> ^args)
{
   SecureString^ testString;
   // Define the string value to assign to a new secure string.
   Char chars[4] = { 't', 'e', 's', 't' };
   // Instantiate a new secure string.
   Char* pChars = &chars[0];
   testString = gcnew SecureString(pChars, sizeof(chars)/sizeof(chars[0]));
   // Display secure string length.
   Console::WriteLine("The length of the string is {0} characters.", 
                        testString->Length);
   delete testString;
   return 0;
}
// The example displays the following output:
//      The length of the string is 4 characters.
using System;
using System.Security;
public class Example
{
   unsafe public static void Main()
   {
      SecureString testString;
      // Define the string value to assign to a new secure string.
      char[] chars = { 't', 'e', 's', 't' };
      // Instantiate a new secure string.
      fixed(char* pChars = chars)
      {
         testString = new SecureString(pChars, chars.Length);
      }
      // Display secure string length.
      Console.WriteLine("The length of the string is {0} characters.", 
                        testString.Length);
      testString.Dispose();
   }
}
// The example displays the following output:
//      The length of the string is 4 characters.
注解
此构造函数将新SecureString对象初始化为 中指定的length字符value数;然后加密实例的值。
在 C# 中,此构造函数仅在不安全代码的上下文中定义。