2.匿名型


例: 匿名型

匿名型が必要ですか?



匿名 Type'lar nesnenin tipini belirtmeden tanımlama yapmanızı(宣言) sağlar. ayrıca bakınız

エルネク:

// Anonymous Types declaration(tanımlaması)
var v = new { Amount = 108, Message = "Hello" };

// Usage Example
Console.WriteLine(v.Amount + v.Message);


Kullanim şekilleri, örnekleri :



1.) Çoğunlukla linq sorgularında select query'ssi kullanılır.

エルネク:

var productQuery =
    from prod in products
   select new { prod.Color, prod.Price }; // bu satıra dikkat

foreach (var v in productQuery)
{
    Console.WriteLine("Color={0}, Price={1}", v.Color, v.Price);
}


2.) Örnek kullanım :

var anonArray = new[] { new { name = "apple", diam = 4 }, new { name = "grape", diam = 1 }};


多くの場合、さまざまな状況が発生します.

3.) Diyelimlik tanımladığınız bir anonim tipin (匿名タイプ) daha sonra değerini değiştirmek istiyorsunuz. Ama bu mümkün değil (çünkü 読み取り専用).ペキネヤパビリリズ?

エルネク:

var apple = new { Item = "apples", Price = 1.35 };
var onSale = apple with { Price = 0.79 };
Console.WriteLine(apple);
Console.WriteLine(onSale);


diyerek asıl objenin (apple) değerlerinden price'ına Yeni değer atayarak onSale objesine atıyoruz. Dikkat ederseniz apple objesinin değerinde bir değişiklik olmadı (読み取り専用).

4.) Örnek bir kullanım daha, pratik yaparak anlamaniz için yazıyorum:

var apple = new { Item = "apples", Price = 1.35 };
var onSale = apple with { Price = 0.79 };
Console.WriteLine(apple);
Console.WriteLine(onSale);
var anonArray = new[] { new { name = apple,versiyon="v1"}, new { name = onSale ,versiyon="v2"} };
Console.WriteLine(anonArray[0]);
Console.WriteLine(anonArray[1]);


5.) Örnek bir kullanım daha, pratik yaparak anlamaniz için yazıyorum :

List<string> list1 = new List<string>() { "a", "b", "c" };
List<string> list2 = new List<string>() { "c", "d", "e" };


var newList = new[] { list1, list2 }.ToList();
System.Console.WriteLine(newList[0][0]); //a
System.Console.WriteLine(newList[0][1]); //b
System.Console.WriteLine(newList[0][2]); //c
System.Console.WriteLine(newList[1][0]); //c
System.Console.WriteLine(newList[1][1]); //d
System.Console.WriteLine(newList[1][2]); //e


ayrıca bakabilirsiniz

ayrıca okuyabilirsiniz