Tag Archives: constant interpolated strings

C# 10 Yenilikleri – Constant Interpolated Strings

C# 10 ile hayatımıza yeni giren özelliklerden biri constant interpolated strings yapısı.

C# 9 ve öncesi versiyonlarda const değerler içerisinde + operatörü ile string concatenation işlemi yapabiliyorduk. Yani aşağıdaki kod legal idi;

const string Name = "";
const string  Surname = Name + " " + "Surname";

fakat şunu yapamıyorduk;

const string Name = "";
const string  Surname = $"{Name} Surname";

Bunun nedeni de string interpolation arka tarafta string.Format çağırıyordu ve bir method çağırımı compile time’da constant olamayacağı için hata veriyordu doğal olarak. Yani string interpolation içerisinde kullandığımız değer constant olsa bile, string interpolation yapısının “kendisi” constant değildi.

Bunun legal olabilmesi için C# community’den çok fazla talep gelince C# 10 versiyonunda bu özelliği de eklemişler. Bunu artık hem yukarıdaki gibi const değerleri içerisinde, hem de attribute’ler içerisinde kullandığımız mesajlarda kullanabiliyoruz.

[Obsolete($"{Name} bunu kullanamaz!")]
void MyMethod()
{
}