Лучший перегруженный метод соответствует для int tryparse Error

Я просто пытаюсь это сделать, поэтому позже, когда я сохраню свои значения в базе данных, они должны быть установлены на ноль, если текстовое поле пусто.

    int? DeliveryAdrID = null;
    int.TryParse(TextBoxDeliveryAdrID.Text, out DeliveryAdrID);

Но у меня ошибка при разборе.

Вышеупомянутое решение должно позже сделать возможным сохранение пустых значений текстового поля в базе данных как "NULL" вместо 0.

Целое решение:

    int parsedValue;
    int? DeliveryAdrID = int.TryParse(TextBoxDeliveryAdrID.Text, out parsedValue) ? parsedValue : (int?)null;

    int id = Convert.ToInt32(GridViewData.SelectedValue.ToString());
                var data = tf.DBTable.Where(a => a.ID == id).FirstOrDefault();
                if (data == null)
                {
                    DBTable mt = new DBTable();
                    mt.Customer = TextBoxCustomer.Text;
                    mt.Country = TextBoxCountry.Text;
                    mt.DeliveryAdrID = parsedValue;
                    tf.DBTable.AddObject(mt);
                    tf.SaveChanges();
                }
                else
                {
                    data.Customer = TextBoxCustomer.Text;
                    data.Country = TextBoxCountry.Text;
                    data.DeliveryAdrID = parsedValue;
                    tf.SaveChanges();
              }
            }

1 ответ

Решение

Вы не можете дать недействительный int для int.TryParse, Это должно быть Int. То, что вы пытаетесь сделать, может быть достигнуто так:

int parsedValue;
int? DeliveryAdrID = int.TryParse(TextBoxDeliveryAdrID.Text, out parsedValue) ? parsedValue : (int?) null;
Другие вопросы по тегам