DbConnectionStringBuilder.TryGetValue(String, Object) 方法      
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从此 DbConnectionStringBuilder 中检索与提供的键相对应的值。
public:
 virtual bool TryGetValue(System::String ^ keyword, [Runtime::InteropServices::Out] System::Object ^ % value);public virtual bool TryGetValue (string keyword, out object value);public virtual bool TryGetValue (string keyword, out object? value);abstract member TryGetValue : string * obj -> bool
override this.TryGetValue : string * obj -> boolPublic Overridable Function TryGetValue (keyword As String, ByRef value As Object) As Boolean参数
- keyword
- String
要检索的项的键。
- value
- Object
与 keyword 对应的值。
返回
如果在连接字符串中找到 keyword,则为 true,否则为 false。
例外
              keyword 包含一个 null 值(在 Visual Basic 中为 Nothing)。
示例
以下示例调用 TryGetValue 方法,演示了几个可能的结果。
static void Main()
{
    DbConnectionStringBuilder builder = new DbConnectionStringBuilder();
    builder.ConnectionString =
        "Provider=sqloledb;Data Source=192.168.168.1,1433;" +
        "Network Library=DBMSSOCN;Initial Catalog=pubs;" +
        "Integrated Security=SSPI;";
    // Call TryGetValue method for multiple
    // key names.
    DisplayValue(builder, "Provider");
    DisplayValue(builder, "DATA SOURCE");
    DisplayValue(builder, "InvalidKey");
    DisplayValue(builder, null);
    Console.ReadLine();
}
private static void DisplayValue(
    DbConnectionStringBuilder builder, string key)
{
    object value = null;
    // Although TryGetValue handles missing keys,
    // it doesn't handle passing in a null
    // key. This example traps for that particular error, but
    // bubbles any other unknown exceptions back out to the
    // caller.
    try
    {
        if (builder.TryGetValue(key, out value))
        {
            Console.WriteLine("{0}={1}", key, value);
        }
        else
        {
            Console.WriteLine(@"Unable to retrieve value for '{0}'", key);
        }
    }
    catch (ArgumentNullException)
    {
        Console.WriteLine("Unable to retrieve value for null key.");
    }
}
Sub Main()
    Dim builder As New DbConnectionStringBuilder
    builder.ConnectionString = _
        "Provider=sqloledb;Data Source=192.168.168.1,1433;" & _
        "Network Library=DBMSSOCN;Initial Catalog=pubs;" & _
        "Integrated Security=SSPI;"
    ' Call TryGetValue method for multiple
    ' key names.
    DisplayValue(builder, "Provider")
    DisplayValue(builder, "DATA SOURCE")
    DisplayValue(builder, "InvalidKey")
    DisplayValue(builder, Nothing)
    Console.ReadLine()
End Sub
Private Sub DisplayValue( _
 ByVal builder As DbConnectionStringBuilder, ByVal key As String)
    Dim value As Object
    ' Although TryGetValue handles missing keys,
    ' it doesn't handle passing in a null (Nothing in Visual Basic)
    ' key. This example traps for that particular error, but
    ' bubbles any other unknown exceptions back out to the
    ' caller. 
    Try
        If builder.TryGetValue(key, value) Then
            Console.WriteLine("{0}={1}", key, value)
        Else
            Console.WriteLine("Unable to retrieve value for '{0}'", key)
        End If
    Catch ex As ArgumentNullException
        Console.WriteLine("Unable to retrieve value for null key.")
    End Try
End Sub
此示例显示以下结果:
Provider=sqloledb
DATA SOURCE=192.168.168.1,1433
Unable to retrieve value for //InvalidKey//
Unable to retrieve value for null key.
注解
方法 TryGetValue 使开发人员能够安全地从 DbConnectionStringBuilder 检索值,而无需先调用 ContainsKey 方法。 由于 TryGetValue 调用时不会引发异常,传入不存在的键,因此在检索键值之前不必查找键。 使用不存在的键调用 TryGetValue 会将 visual Basic 中的 null 值 (Nothing) 放在 参数中 value 。