Rumah >pembangunan bahagian belakang >C++ >Adakah Simbol $ Sebelum Rentetan C# Rentetan Verbatim atau Interpolasi Rentetan?

Adakah Simbol $ Sebelum Rentetan C# Rentetan Verbatim atau Interpolasi Rentetan?

DDD
DDDasal
2025-01-04 22:07:38463semak imbas

Is the $ Symbol Before a C# String a Verbatim String or String Interpolation?

Rentetan Verbatim atau Ciri Baharu? Membongkar Misteri $ Before a String

Anda terjumpa kejadian pelik semasa menggunakan Visual Studio 2015 CTP. Daripada menggunakan rentetan verbatim dengan @, anda secara tidak sengaja menaip $, namun pengkompil bertindak balas tanpa ralat. Artikel ini bertujuan untuk menjelaskan peranan $ sebelum rentetan dalam C#.

Watak $ berfungsi sebagai jalan pintas untuk String.Format, yang memainkan peranan penting dalam interpolasi rentetan, ciri baru yang diperkenalkan dalam C# 6. Walau bagaimanapun , dalam penggunaan khusus anda, ia pada asasnya menjadi pemegang tempat, mencerminkan kefungsian rentetan.Format().

Kuasa sebenar $ terbentang apabila ia memudahkan pembinaan rentetan dengan rujukan kepada nilai lain. Pertimbangkan senario di mana anda mempunyai pembolehubah berikut:

var anInt = 1;
var aBool = true;
var aString = "3";

Pada masa lalu, anda akan bergantung pada String.Format() untuk memasang rentetan berformat:

var formated = string.Format("{0},{1},{2}", anInt, aBool, aString);

Dengan rentetan interpolasi, proses ini menjadi mudah:

var formated = $"{anInt},{aBool},{aString}";

Selain itu, C# menyediakan alternatif sintaks interpolasi menggunakan $@. Ini membolehkan penyepaduan lancar bagi ciri rentetan kata kerja dan interpolasi rentetan tanpa memerlukan aksara yang melarikan diri. Contohnya:

var someDir = "a";
Console.WriteLine($@"c:\{someDir}\b\c");

Output untuk kod ini ialah:

c:\a\b\c

Atas ialah kandungan terperinci Adakah Simbol $ Sebelum Rentetan C# Rentetan Verbatim atau Interpolasi Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn