TryGetValue

Метод предоставляет значение указанного ключа строки подключения.

Метод TryGetValue позволяет безопасно извлекать значение ключа из строки подключения, не требуя предварительной проверки его существования в строке.

При запросе значения несуществующего ключа исключение не генерируется, для него возвращается null-значение.

Синтаксис
public override bool TryGetValue(
  string keyword,
  out Object value
);
      

keyword – имя ключа.

value – возвращаемое текущее значение ключа в строке подключения.

Возвращаемое значение

Значение true, если ключевое слово keyword найдено в строке подключения, false – в противном случае.

Исключения
ArgumentNullException Null-значение параметра keyword.
Пример
// C#
using System;
using System.Data;
using System.Data.Common;

class ConnectionStringBuilderSample
{
  static void Main()
  {
    // Создание фабрики классов провайдера
    DbProviderFactory factory =
      DbProviderFactories.GetFactory("System.Data.LinterClient");
    // Создание объекта DbConnectionStringBuilder
    DbConnectionStringBuilder builder =
      factory.CreateConnectionStringBuilder();
    builder.ConnectionString =
      "Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER8";
    // Вызов метода TryGetValue для нескольких имен ключей.
    // Имена ключей конвертируются в синонимы.
    DisplayValue(builder, "Data Source");
    DisplayValue(builder, "UID");
    DisplayValue(builder, "InvalidKey");
    DisplayValue(builder, null);
    Console.WriteLine();
    Console.WriteLine("Нажмите клавишу Ввод для завершения");
    Console.ReadLine();
  }
  private static void DisplayValue(DbConnectionStringBuilder builder, string key)
  {
    object value = null;
    // Хотя метод TryGetValue нормально обрабатывает отсутствующие ключи,
    // он генерирует ошибку, если имя ключа равно null. Данный пример
    // перехватывает эту ошибку, но передает наверх любое другое исключение.
    try
    {
      if (builder.TryGetValue(key, out value))
      {
        Console.WriteLine("{0}='{1}'", key, value);
      }
      else
      {
        Console.WriteLine("Нельзя получить значение для ключа '{0}'", key);
      }
    }
    catch (ArgumentNullException)
    {
      Console.WriteLine("Нельзя получить значение для ключа null");
    }
  }
}

Результат выполнения примера:

Data Source='LOCAL'
UID='SYSTEM'
Нельзя получить значение для ключа 'InvalidKey'
Нельзя получить значение для ключа null