При использовании пользовательского класса есть переключатель, который принимает int. Затем коммутатор заполняет класс, в котором некоторые случаи имеют число, а некоторые нет. Int может варьироваться практически в любом месте приложения, но в некоторых случаях его нет. Когда просматривается newClass, пользователь должен видеть, у кого нет номера. Этот код ниже работает отлично, за исключением того, что есть предупреждение, которое необходимо удалить для: «Результат сравнения значения типа newClass.num
с нулевым значением - true
« и «Недопустимый код обнаружен» для ложной части инструкции.Объявление класса с помощью переключателя дает предупреждение о том, что код является int, если оператор всегда возвращает true, но также работает ложный код кода
Есть ли способ или наилучшая практика, которая может быть использована для проверки нулевых частей класса? Что называется типом такого типа (т. Е. Не-nullable refencing, nullReference testing) (... потому что я не знаю, что искать)?
using system.generic;
using system.generic.collections;
public Class newClass{
string name;
int num;
public newClass(int index){
switch(index){
case 1:
num = 20;
name = "returns true";
break;
case 2:
// no num here
name = "returns false";
default :
break;
}
}
}
public otherClass{
newClass foo = new newClass(1);
newClass bar = new newClass(2);
List<newClass> newClassList = new List<newClass>();
newClassList.add(foo);
newClassList.add(bar);
foreach(newClass nc in newClassList){
if(nc.num != null){
print("True");
} else {
print("False");
}
}
}
'num' является' int', который является значением типа, поэтому она не может быть «null». –
'.num' не может быть недействительным. –