2. Anonymous Types

Öğrenilecekler : Anonymous Types

Anonymous Types ne işe yarar ?

Anonymous Type’lar nesnenin tipini belirtmeden tanımlama yapmanızı(declaration) sağlar. ayrıca bakınız

Örnek :

// Anonymous Types declaration(tanımlaması)
var v = new { Amo…


This content originally appeared on DEV Community and was authored by DEV Community

Öğrenilecekler : Anonymous Types

Anonymous Types ne işe yarar ?

Anonymous Type'lar nesnenin tipini belirtmeden tanımlama yapmanızı(declaration) sağlar. ayrıca bakınız

Örnek :

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

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

Kullanım şekilleri, örnekleri :

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

Örnek :

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 }};

Yukarıda array tanımladık ve tipini belirtmedik.

3.) Diyelimlik tanımladığınız bir anonim tipin (anonymous type) daha sonra değerini değiştirmek istiyorsunuz. Ama bu mümkün değil (çünkü read only). Peki ne yapabiliriz ?

Örnek :

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

With 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ı (çünkü zaten read only).

4.) Örnek bir kullanım daha, pratik yaparak anlamanız 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 anlamanız 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


This content originally appeared on DEV Community and was authored by DEV Community


Print Share Comment Cite Upload Translate Updates
APA

DEV Community | Sciencx (2022-03-12T18:54:36+00:00) 2. Anonymous Types. Retrieved from https://www.scien.cx/2022/03/12/2-anonymous-types/

MLA
" » 2. Anonymous Types." DEV Community | Sciencx - Saturday March 12, 2022, https://www.scien.cx/2022/03/12/2-anonymous-types/
HARVARD
DEV Community | Sciencx Saturday March 12, 2022 » 2. Anonymous Types., viewed ,<https://www.scien.cx/2022/03/12/2-anonymous-types/>
VANCOUVER
DEV Community | Sciencx - » 2. Anonymous Types. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/03/12/2-anonymous-types/
CHICAGO
" » 2. Anonymous Types." DEV Community | Sciencx - Accessed . https://www.scien.cx/2022/03/12/2-anonymous-types/
IEEE
" » 2. Anonymous Types." DEV Community | Sciencx [Online]. Available: https://www.scien.cx/2022/03/12/2-anonymous-types/. [Accessed: ]
rf:citation
» 2. Anonymous Types | DEV Community | Sciencx | https://www.scien.cx/2022/03/12/2-anonymous-types/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.