در C# تابعی بنویسید که با استفاده از StringBuilder.Replace و یک دیکشنری جایگزینی، توکنهای قالبی مثل {{playerName}} یا {{score}} را در یک رشتهٔ ورودی جایگزین کند تا برای استفاده ساده در بازی، مفسر کوچک یا صفحات وب آماده شود.
7.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:29 0.0
برای حل، رشتهٔ ورودی را در یک System.Text.StringBuilder قرار دهید و برای هر کلید در دیکشنری (بهتر است کلیدهای بلندتر ابتدا پردازش شوند) از متد StringBuilder.Replace برای جایگزینی توکنها با مقدار متناظر استفاده کنید. نکات: استفاده از StringBuilder هنگام انجام چندین جایگزینی سرعت و مصرف حافظه را بهتر میکند نسبت به تکرار string.Replace؛ اگر خروجی برای وب است، مقادیر را قبل از جایگزینی HTML-encode کنید؛ توجه کنید که ترتیب جایگزینی میتواند از تداخل توکنهایی که شامل هم هستند جلوگیری کند.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکته کلیدی این است که توکنهای قالبی را با اولویت طولانیتر بودن کلیدها جایگزین کنید تا از تداخل مانند {{playerName}} و {{player}} جلوگیری شود. استفاده از StringBuilder.Replace به ازای هر کلید معمولا کارایی بهتری نسبت به جایگزینیهای پشتسرهم با رشته دارد؛ کلیدها را در رشتهBuilder و به ترتیب طول کلیدها اعمال کنید. اگر خروجی برای وب است، مقدارها را قبل از جایگزینی HTML-encode کنید تا محافظت در برابر XSS فراهم شود. همچنین بهتر است کلیدهای دیکشنری یکتا باشند و ترتیب جایگزینی را به صراحت مشخص کنید تا توکنهای همپوشان به درستی مدیریت شوند.
گزارش