В текущем сценарии я заполняю список, но когда я перехожу на ItemsinList
, многие из значений будут null
, и, как вы можете видеть, я попытался контролировать нулевое значение строки, но это дает мне ошибку. Когда я заполняю источник данных в строке списка кода, он дает ошибку Object reference not set to an instance of an object
. Я уже пробовал IsNullOrEmpty
, Equals(string.Empty)
и дал ему значение по умолчанию как null
, но его все еще ломается. Мой вопрос: как я могу обрабатывать нулевые значения?Handle NullReferenceException при обработке списка элементов
var items = CommonList.ItemList();
items.Insert(0,new DataModel.SKU(){SKUID = 0,SKUName = "abc" });
var itemsinlist = from obj in items
select new { obj.SKUID, obj.SKUName,string.IsNullOrEmpty(obj.SKUCode),
obj.SalePrice, obj.PurchasePrice, obj.CostPrice,
// if is null the code breaks
obj.BaseUnit.UnitName, obj.SKUGroup.SKUGroupName,
obj.SKUBrand.SKUBrandName, obj.Unit_Weight };
var objlist = itemsinlist as IEnumerable<dynamic>;
// can not add list if some value is null althought the db value can be null
this.cmbSKU.ValueMember = "SKUID";
this.cmbSKU.DisplayMember = "SKUName";
this.cmbSKU.DataSource = itemsinlist.ToList();
'IsNullOrEmpty' возвращает вам логическое значение, так что вы должны проверить это значение и решить, что вы хотите делать. Вы можете написать пустую строку, если значение равно null, например: '(obj.SKUCode == null)? String.Empty: obj.SKUCode' - если SKUCode имеет значение null, то он возвращает пустую строку, иначе SKUCode –
не работает с такой же ошибкой, как и с пустой и пустой строкой. Http://prntscr.com/9cv0b0 –
Ошибка: ошибка Недопустимый декларатор участника анонимного типа. Члены анонимного типа должны быть объявлены с присвоением членов, простым именем или доступом к члену –