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 -> bool
Public 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 會將 null 值 (放在 Nothing
Visual Basic) 參數中 value
。
適用於
另請參閱
- ADO.NET 中的連接字串
- ADO.NET 概觀 \(部分機器翻譯\)