0
جدا کردن تعداد کاراکترهای یک رشته در سی شارپ
سلام دوستان خسته نباشید ، من یک متغییر در سی شارپ تعریف کرده ام که مقدار آن 50680af8ca54 می باشد و من میخام کاراکتر ها رو با : از هم جدا کنم یعنی به شکل زیر :
5:68:0a:f8:ca:54
ممنون میشم راهنمایی کنید
5 پاسخ
0
ممنون از پاسختون . ولی من کد رو به شکل زیر در برنامه م درج کردم اما متاسفانه با پیغام خطا مواجه میشه .
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication138 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public static class StringExtensions { public static IEnumerable<string> SplitByCharacters(this string str, int characters) { List<string> substrings = new List<string>(); for (int index = 0; index < str.Length; index += characters) { substrings.Add(index + characters > str.Length ? str.Substring(index) : str.Substring(index, characters)); } return substrings; } } private void button1_Click(object sender, EventArgs e) { var result = string.Join(":", "Welcome to ITPro.ir".SplitByCharacters(2)); } } }
0
بله میخام دو کاراکتر دوکارکتر جدا کنم
0
الان شما دو کاراکتر دو کاراکتر می خوایید جدا کنید یا هر کاراکتر به صورت جداگانه؟
1
شما اول باید یه Extension Method برای جدا سازی رشته بر اساس طول کاراکترها بنویسید:
public static class StringExtensions { public static IEnumerable<string> SplitByCharacters(this string str, int characters) { List<string> substrings = new List<string>(); for (int index = 0; index < str.Length; index += characters) { substrings.Add(index + characters > str.Length ? str.Substring(index) : str.Substring(index, characters)); } return substrings; } }
حالا به صورت زیر می تونید از این متد استفاده کنید، خروجی این متد یک شئ از نوع IEnumerable هست:
var result = "Welcome to ITPro.ir".SplitByCharacters(2);
حالا باید خروجی این متد رو بر اساس کاراکتر مورد نظر به هم متصل کنید:
var result = string.Join(":", "Welcome to ITPro.ir".SplitByCharacters(2));
خروجی کد بالا به صورت زیر هست:
We:lc:om:e :to: I:TP:ro:.i:r
1
کلاس StringExtensions رو خارج از کلاس Form تعریف کنید:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication138 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { var result = string.Join(":", "Welcome to ITPro.ir".SplitByCharacters(2)); } } public static class StringExtensions { public static IEnumerable<string> SplitByCharacters(this string str, int characters) { List<string> substrings = new List<string>(); for (int index = 0; index < str.Length; index += characters) { substrings.Add(index + characters > str.Length ? str.Substring(index) : str.Substring(index, characters)); } return substrings; } } }