Bu, bellek tüketiminin optimizasyonu ve dizi karşılaştırmasının optimizasyonu konusudur. Uygulamanızda her zaman boş bir dize kullandığınızda, 0 karakter içeren bir dize nesnesi tahsis ediyorsunuz. Dizi karşılaştırmasında, karakter dizisi yerine referanslar (işaretçiler) karakterlerle karşılaştırılarak yapılabilir, bu boş karakter dizileri için bile daha hızlıdır.
Uygulamanızda aynı dizeyi defalarca kullanıyorsanız, dizenizle birlikte String.Intern () yöntemini çağırarak aynı mekanizmayı kullanabilirsiniz. Ancak her dizeyi yalnızca bir kez kullanıyorsanız, yalnızca daha fazla bellek kullanırsınız.
Yani String.Empty sadece çoğu .Net uygulaması için yapmaya değer özel bir durum optimizasyonudur, bu yüzden BCL'ye entegre edilmiştir.
Bu konuda daha fazla ayrıntı için, Eric Lippert'in blog yazısını okumanızı şiddetle tavsiye ediyorum .
Blog postasının referans aldığı bu belgelere de bir göz atmalısınız .