„C Sharp 3.0“: Munur á milli breytinga
Efni eytt Efni bætt við
m Bot: Flyt 1 tungumálatengla, sem eru núna sóttir frá Wikidata á d:q5015099 |
m <source> -> <syntaxhighlight> (phab:T237267) |
||
Lína 4:
Nafnlausar týpur eru ekki skilgreindar sem ákveðnir klasar. Þegar þú býrð til nafnlausa týpu mun þýðandinn búa til klasa fyrir þig. Nafnlaus týpa erfir beint frá object. Innihaldið í nafnlausu týpunni er röð af les/skrif eiginleikum (property) þar sem þýðandinn sér um að frumstilla nafnlausu breyturnar.
<
var x = new { Property1 = "hello", Property2 = 5 };
Console.WriteLine(x.Property1);
Console.WriteLine(x.Property2.ToString());
</syntaxhighlight>
== Óbein týpa af breytu (''Implicitly Typed Local Variables'')==
Skilgreining á óbeinni týpu af breytu er ályktuð frá segðinni sem er notuð til að skilgreina breytuna. Þegar staðtengd breyta er skilgreind með "var" sem týpu þá er hún skilgreind sem óbein týpa af breytu. Dæmi:
<
var i = 5;
var s = "Hello";
Lína 19:
var numbers = new int[] {1, 2, 3};
var orders = new Dictionary<int,Order>();
</syntaxhighlight>
Þessar óbeint skilgreindu breytur eru nákvæmlega eins og eftirfarandi skilgreining:
<
int i = 5;
string s = "Hello";
Lína 29:
int[] numbers = new int[] {1, 2, 3};
Dictionary<int,Order> orders = new Dictionary<int,Order>();
</syntaxhighlight>
== Hlut frumstillir (''Object Initializer'') ==
Lína 35:
C# 2.0:
<
MyClass c = new MyClass();
c.Prop = "asdads";
</syntaxhighlight >
C# 3.0:
<
MyClass c = new MyClass { Prop = "test" };
</syntaxhighlight>
== Óbeinar fylkis týpur (''Implicitly Typed Arrays'') ==
Lína 50:
Eftirfarandi eru skilgreiningar á óbeinum týpum af fylki:
<
var a = new[] { 1, 10, 100, 1000 }; // int[]
var b = new[] { 1, 1.5, 2, 2.5 }; // double[]
var c = new[] { "hello", null, "world" }; // string[]
var d = new[] { 1, "one", 2, "two" }; // Error
</syntaxhighlight>
== Viðbótaraðgerðir (''Extenstion Methods'') ==
Lína 63:
Dæmi um þetta:
<
static class StrenjaVidbot
{
Lína 71:
}
}
</syntaxhighlight>
Svo er hægt að nota þetta á þessa leið:
<
String strName = "Jón"
Console.WriteLine(strName.AppendMyNameToString());
</syntaxhighlight>
== Lambda-framsetning (''Lambda Expressions'') ==
Lína 82:
Í C# 2.0 voru kynntar nafnlausar aðgerðir, hér er dæmi um eina:
<
public delegate int MinDelegate(int n);
class NafnlausAdgerð
Lína 94:
}
}
</syntaxhighlight>
Lamda-framsetningin í C# 3.0
<
public delegate int MinDelegate(int n);
class LambdaFrams
Lína 116:
}
}
</syntaxhighlight>
== Fyrirspurnarframsetning (''Query expressions'') ==
Lína 123:
Þetta dæmi prentar lista af öllum vörum sem eru uppseldar. Fyrirspurnin velur hvert stak úr vörulistanum þar sem "UnitsInStock" er jafnt og 0.
<
public void Linq2() {
List products = GetProductList();
Lína 136:
}
}
</syntaxhighlight>
== Heimildir ==
|