در C# تابعی بنویسید که با استفاده از StringBuilder.Replace و یک دیکشنری جایگزینی، توکن‌های قالبی مثل {{playerName}} یا {{score}} را در یک رشتهٔ ورودی جایگزین کند تا برای استفاده ساده در بازی، مفسر کوچک یا صفحات وب آماده شود.

7.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:29

0.0

برای حل، رشتهٔ ورودی را در یک System.Text.StringBuilder قرار دهید و برای هر کلید در دیکشنری (بهتر است کلیدهای بلندتر ابتدا پردازش شوند) از متد StringBuilder.Replace برای جایگزینی توکن‌ها با مقدار متناظر استفاده کنید. نکات: استفاده از StringBuilder هنگام انجام چندین جایگزینی سرعت و مصرف حافظه را بهتر می‌کند نسبت به تکرار string.Replace؛ اگر خروجی برای وب است، مقادیر را قبل از جایگزینی HTML-encode کنید؛ توجه کنید که ترتیب جایگزینی می‌تواند از تداخل توکن‌هایی که شامل هم هستند جلوگیری کند.

توسط پژوهشگر در 202 روز قبل ساعت 02:29
دسته بندی ها: C# C# for beginner
sara در 202 روز قبل ساعت 09:29

نکته کلیدی این است که توکن‌های قالبی را با اولویت طولانی‌تر بودن کلیدها جایگزین کنید تا از تداخل مانند {{playerName}} و {{player}} جلوگیری شود. استفاده از StringBuilder.Replace به ازای هر کلید معمولا کارایی بهتری نسبت به جایگزینی‌های پشت‌سرهم با رشته دارد؛ کلیدها را در رشتهBuilder و به ترتیب طول کلیدها اعمال کنید. اگر خروجی برای وب است، مقدارها را قبل از جایگزینی HTML-encode کنید تا محافظت در برابر XSS فراهم شود. همچنین بهتر است کلیدهای دیکشنری یکتا باشند و ترتیب جایگزینی را به صراحت مشخص کنید تا توکن‌های هم‌پوشان به درستی مدیریت شوند.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری