„C Sharp 3.0“: Munur á milli breytinga

Efni eytt Efni bætt við
Addbot (spjall | framlög)
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.
 
<sourcesyntaxhighlight lang="csharp">
var x = new { Property1 = "hello", Property2 = 5 };
Console.WriteLine(x.Property1);
Console.WriteLine(x.Property2.ToString());
</syntaxhighlight>
</source>
 
== Ó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:
 
<sourcesyntaxhighlight lang="csharp">
var i = 5;
var s = "Hello";
Lína 19:
var numbers = new int[] {1, 2, 3};
var orders = new Dictionary<int,Order>();
</syntaxhighlight>
</source>
 
Þessar óbeint skilgreindu breytur eru nákvæmlega eins og eftirfarandi skilgreining:
 
<sourcesyntaxhighlight lang="csharp">
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>
</source>
== Hlut frumstillir (''Object Initializer'') ==
Lína 35:
 
C# 2.0:
<sourcesyntaxhighlight lang="csharp">
MyClass c = new MyClass();
c.Prop = "asdads";
</syntaxhighlight >
</source>
 
C# 3.0:
<sourcesyntaxhighlight lang="csharp">
MyClass c = new MyClass { Prop = "test" };
</syntaxhighlight>
</source>
 
== Óbeinar fylkis týpur (''Implicitly Typed Arrays'') ==
Lína 50:
Eftirfarandi eru skilgreiningar á óbeinum týpum af fylki:
 
<sourcesyntaxhighlight lang="csharp">
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>
</source>
 
== Viðbótaraðgerðir (''Extenstion Methods'') ==
Lína 63:
Dæmi um þetta:
 
<sourcesyntaxhighlight lang="csharp">
static class StrenjaVidbot
{
Lína 71:
}
}
</syntaxhighlight>
</source>
Svo er hægt að nota þetta á þessa leið:
<sourcesyntaxhighlight lang="csharp">
String strName = "Jón"
Console.WriteLine(strName.AppendMyNameToString());
</syntaxhighlight>
</source>
 
== Lambda-framsetning (''Lambda Expressions'') ==
Lína 82:
 
Í C# 2.0 voru kynntar nafnlausar aðgerðir, hér er dæmi um eina:
<sourcesyntaxhighlight lang="csharp">
public delegate int MinDelegate(int n);
class NafnlausAdgerð
Lína 94:
}
}
</syntaxhighlight>
</source>
Lamda-framsetningin í C# 3.0
 
<sourcesyntaxhighlight lang="csharp">
public delegate int MinDelegate(int n);
class LambdaFrams
Lína 116:
}
}
</syntaxhighlight>
</source>
 
== 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.
 
<sourcesyntaxhighlight lang="csharp">
public void Linq2() {
List products = GetProductList();
Lína 136:
}
}
</syntaxhighlight>
</source>
 
== Heimildir ==