Tuple (Demet), birden fazla değeri gruplayan ve genellikle metodlardan birden fazla değer döndürmek için kullanılan bir veri türüdür. Tuple, System namespace’i altında yer alır ve C# 7.0 sürümünden itibaren kullanıma sunulmuştur. İşte Tuple’ın detaylı incelemesi:
Tuple, farklı türdeki değerleri gruplamak için kullanılan bir veri yapısıdır. Tuple, adlandırılmış veya adlandırılmamış olarak oluşturulabilir.
Adlandırılmamış Tuple Oluşturma
var tuple = Tuple.Create(1, "hello", true);
Adlandırılmış Tuple Oluşturma
var person = (Id: 1, Name: "Alice", Age: 30);
Tuple’ın elemanlarına indis veya ad kullanarak erişebilirsiniz.
var tuple = Tuple.Create(1, "hello", true);
int firstItem = tuple.Item1; // 1
string secondItem = tuple.Item2; // "hello"
bool thirdItem = tuple.Item3; // true
Tabii ki, C#’da Tuple (Demet), birden fazla değeri gruplayan ve genellikle metodlardan birden fazla değer döndürmek için kullanılan bir veri türüdür. Tuple, System namespace’i altında yer alır ve C# 7.0 sürümünden itibaren kullanıma sunulmuştur. İşte Tuple’ın detaylı incelemesi:
Tuple, farklı türdeki değerleri gruplamak için kullanılan bir veri yapısıdır. Tuple, adlandırılmış veya adlandırılmamış olarak oluşturulabilir.
csharpCopy code
var tuple = Tuple.Create(1, "hello", true);
csharpCopy code
var person = (Id: 1, Name: "Alice", Age: 30);
Tuple’ın elemanlarına indis veya ad kullanarak erişebilirsiniz.
var tuple = Tuple.Create(1, “hello”, true);
int firstItem = tuple.Item1; // 1
string secondItem = tuple.Item2; // “hello”
bool thirdItem = tuple.Item3; // true
var person = (Id: 1, Name: "Alice", Age: 30);
int id = person.Id; // 1
string name = person.Name; // "Alice"
int age = person.Age; // 30
Tuple, genellikle bir metodun birden fazla değer döndürmesi gerektiğinde veya birçok değeri gruplamak için kullanılır.
Metoddan Birden Fazla Değer Döndürme
public (int, string) GetPersonInfo()
{
return (1, "Alice");
}
var personInfo = GetPersonInfo();
int id = personInfo.Item1; // 1
string name = personInfo.Item2; // "Alice"
Birden Fazla Değer Gruplama
var person = (Id: 1, Name: "Alice", Age: 30);
var address = (City: "New York", ZipCode: "10001");
var personDetails = (person, address);
int personId = personDetails.person.Id; // 1
string cityName = personDetails.address.City; // "New York"
Tuple, içindeki değerlerin kıyaslanması ve karma işlemleri için kullanılabilir.
var tuple1 = (1, "hello");
var tuple2 = (1, "hello");
bool areEqual = tuple1.Equals(tuple2); // true
int hashValue = tuple1.GetHashCode();
Tuple, özellikle hızlı bir şekilde geçici veri gruplamak ve iletmek için kullanışlıdır. Ancak Tuple’ın elemanları genellikle adlandırılmamış olduğundan, kullanırken dikkatli olmak önemlidir. Adlandırılmış Tuple’lar (C# 7.0 ve sonrası) ise bu konuda daha esneklik sağlar ve daha okunabilir kodlar yazmanıza olanak tanır.