یک string در C# شیءای است که متن تغییرناپذیر را بهصورت دنبالهای از نویسههای یونیکد (حروف، ارقام، نشانههای نگارشی و غیره) نمایش میدهد. برای تعریف یک نمونه از string از علامت نقلقول دوگانه استفاده میشود:
string fruit = "Apple";
رشتهها با فراخوانی متدهای داخلی رشته دستکاری میشوند. برای مثال، برای حذف فاصلههای خالی از یک رشته، میتوانید مانند این از متد Trim استفاده کنید:
string name = " Jane "
name.Trim()
// => "Jane"
وقتی رشتهای ساخته شد، مقدار آن هرگز تغییر نمیکند. هر متدی که به نظر برسد رشته را تغییر میدهد، در واقع رشتهی جدیدی برمیگرداند.
چندین رشته را میتوان به هم الحاق (اضافه) کرد. سادهترین راه برای این کار استفاده از عملگر + است.
string name = "Jane";
"Hello " + name + "!";
// => "Hello Jane!"
برای هر قالببندی رشته که پیچیدهتر از الحاق ساده باشد، درج در رشته ترجیح داده میشود. برای استفاده از درج در رشته، یک علامت دلار ($) به ابتدای رشته اضافه کنید. سپس میتوانید با آکولاد ({}) به هر متغیری درون رشته دسترسی داشته باشید.
string name = "Jane";
$"Hello {name}!";
// => "Hello Jane!"
در این تمرین، خطهای لاگ را پردازش میکنید.
هر خط لاگ رشتهای است به شکل زیر: "[<LEVEL>]: <MESSAGE>".
سه سطح لاگ مختلف وجود دارد:
INFOWARNINGERRORسه وظیفه دارید که هر کدام یک خط لاگ میگیرد و از شما میخواهد کاری با آن انجام دهید.
متد (static) LogLine.Message() را طوری پیادهسازی کنید که پیام یک خط لاگ را برگرداند:
LogLine.Message("[ERROR]: Invalid operation")
// => "Invalid operation"
هر فضای خالی ابتدایی یا انتهایی باید حذف شود:
LogLine.Message("[WARNING]: Disk almost full\r\n")
// => "Disk almost full"
متد (static) LogLine.LogLevel() را طوری پیادهسازی کنید که سطح لاگ یک خط لاگ را برگرداند؛ این مقدار باید با حروف کوچک برگردانده شود:
LogLine.LogLevel("[ERROR]: Invalid operation")
// => "error"
متد (static) LogLine.Reformat() را پیادهسازی کنید که خط لاگ را بازقالببندی میکند، به این صورت که پیام را اول قرار میدهد و سطح لاگ را بعد از آن در پرانتز میآورد:
LogLine.Reformat("[INFO]: Operation completed")
// => "Operation completed (info)"