کار با رشته ها در #C قسمت دوم

کار با رشته ها در #C قسمت دوم

تبدیل آرایه از بایت‌ها به یک رشته و بلعکس

//You have a byte[] representing some binary information, such as a bitmap. // You need to encode this data into a string so that it can be sent over // a binary-unfriendly transport, such as email. public string Base64EncodeBytes(byte[] inputBytes) { return (Convert.ToBase64String(inputBytes)); } //You have a String that containsinformation such asa bitmap encoded // asbas e64. You need to decode this data (which may have been embedded in an // email message) from a String into a byte[] so that you can access // the original binary. public byte[] Base64DecodeString(string inputStr) { byte[] decodedByteArray = Convert.FromBase64String(inputStr); return (decodedByteArray); }

بدست آوردن حروف تشکيل دهنده‌ی یک رشته

مثال 1

string testStr = "Sinpin"; foreach (char c in testStr) MessageBox.Show(c.ToString());

مثال 2

string testStr = "Sinpin"; for (int counter = 0; counter < testStr.Length; counter++) MessageBox.Show(testStr[counter].ToString());

و البته روش اول بهينه‌تر است.

هرس کردن یک رشته متنی

حذف حروف خاص

You have a string with a specific set of characters, such as spaces, tabs, escaped single double quotes, any type of punctuation character(s), or some other character(s), at the beginning and/or end of a string. You want a simple way to remove these characters. private void PruningCharacters() { string foo = "--TEST--"; Console.WriteLine(foo.Trim(new char[] {'-'})); // Displays "TEST" foo = ",-TEST-,-"; Console.WriteLine(foo.Trim(new char[] {'-',','})); // Displays "TEST" foo = "--TEST--"; Console.WriteLine(foo.TrimStart(new char[] {'-'})); // Displays "TEST foo = ",-TEST-,-"; Console.WriteLine(foo.TrimStart(new char[] {'-',','})); // Displays "TEST-,-" foo = "--TEST--"; Console.WriteLine(foo.TrimEnd(new char[] {'-'})); // Displays "--TEST" foo = ",-TEST-,-"; Console.WriteLine(foo.TrimEnd(new char[] {'-',','})); //Displays ",-TEST" }

استفاده از Place Holder ها در کار با رشته ها

int a = 3, b = 5;

حال مي‌توانيم به جای نوشتن:

string result = a.ToString() + "+" + b.ToString() + "=" + (a + b).ToString();

به سادگی بنویسيم:

string result = string.Format("{0}+{1}={2}", a, b, a + b);

استفاده از Place Holder ها (حالت دوم) ضمن خوانایی بيشتر برنامه، معمولا کدنویسی کمتری نيز طلب مي‌کند.

خواندن خط به خط یک رشته چند سطری

using System.IO; string s = @"salam" dooste man"; using (StringReader sr = new StringReader(s)) { while (sr.Peek() > 0) MessageBox.Show(sr.ReadLine(); };

ايجاد رشته‌اي تصادفي از اعداد با طول مشخص

private string GenerateRandomString(int size) { Random r = new Random(); string legalChars = "1234567890"; StringBuilder sb = new StringBuilder(); for (int i = 0; i < size; i++) sb.Append(legalChars.Substring(r.Next(0, legalChars.Length - 1), 1)); return sb.ToString(); }

مثال زير در هر بار آليك دآمه يك رشته ي تصادفي و 6 رقمي از اعداد را نمايش مي دهد:

private void button1_Click(object sender, EventArgs e) { MessageBox.Show(GenerateRandomString(6)); }

جهت تغيير دادن حروف رشته، متغير legalChars را تغيير دهيد. مثلا براي ترآيب حروف بزرگ با اعداد:

string legalChars = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ";

گرفتن کد اسکی و یونيکد کاراکترها

تبدیل به یونيکد

String ucode = String.Format("{0:x4}", (int)('a')); // ucode = 0061

تبدیل به اسکی

String acode = (((int)('a')).ToString()); //acode=97



نظرات کاربران



عبارت امنیتی : حاصل 1 × 6 می شود :
متن پیام :