оптимизированный код для преобразования в обнуляемое целое число - PullRequest
0 голосов
/ 14 июня 2011

Я использую приведенный ниже код для преобразования строкового значения в целое число и установки в целочисленную переменную с нулевым значением, только если значение больше нуля '0'.

ПРИМЕЧАНИЕ: он работает нормально, но я хочу совет экспертов, чтобы оптимизировать его и сделать его библиотечной функцией.

if (txtdownload.Text.Trim() != "")
{
  int i = 0;
  int.TryParse(txtdownload.Text, out i);
  if (i > 0)
  {
       pad.Noofdownload = i;//Noofdownload is a property on nullable integer
  }
}

Помогите, пожалуйста, создать функцию оптимизированной библиотеки (обычную функцию), которую я могу использовать для всех таких преобразований.

Большое спасибо.

ПРИМЕЧАНИЕ: я создал библиотечную функцию ниже, но она не работает для свойств, так как мы не можем передать свойства как ссылку.

 public static void  getValueFromTextBoxInNullable(string  srctext,ref  int? dest)
        {
            if (srctext.Trim() != "")
            {
                int j = 0;
                int.TryParse(srctext , out j);
                if (j > 0)
                {
                    dest = j;
                }
            }
        }

1 Ответ

3 голосов
/ 14 июня 2011

Это метод расширения, который должен выполнять работу:

public static int? ToNullableInt(this string source)
{
    var i = 0;
    return int.TryParse(source, out i) ? (int?)i : null;
}
...