Person p = new Person();
p.Id = (DBNull.Value == record["PersonID"]) ?
0 : (int)record["PersonID"];
Har aldrig sett att man kan använda sig av "?" och ":". Vad betyder det?
3 svar · 430 visningar · startad av P
Person p = new Person();
p.Id = (DBNull.Value == record["PersonID"]) ?
0 : (int)record["PersonID"];
Har aldrig sett att man kan använda sig av "?" och ":". Vad betyder det?
var = (Sanningsvillkor) ? vars värde om Sanningsvillkoret = True : vars värde om False;
ex
v = (1) ? 42 : 8
// v är 42
v = (0) ? 42 : 8
// v är 8
v = (64==64) ? 42 : 8
// v är 42
Helt enkelt en mysig förkortning av
if (true) v = a
else v = b
Det där med ? och : kommer från C vilket C# bygger på.
C# betyder för övrigt C + 0,5 medan C++ betyder C + 1.
Kallas allmänt för "Ternary operator"
ex. http://weblogs.asp.net/dburke/archive/2004/03/26/97195.aspx