تبلیغات
مرجع عملی و کاربردی زبان سی شارپ ، تصاویر دیدنی ، دانلود نرم افزار های گوناگون - کار کردن با انواع داده ها

کار کردن با انواع داده ها

نویسنده :مرتضی عالمین
تاریخ:چهارشنبه 13 خرداد 1388-03:09 ب.ظ

2-رشته ها

2-17-بدست آوردن تعداد خطوط یک رشته


کد:

using System.Text.RegularExpressions;

کد:

public static long LineCount2(string source, bool isFileName)

{

    if (source != null)

    {

        string text = source;

        long numOfLines = 0;

        if (isFileName)

        {

            using (FileStream FS = new FileStream(source, FileMode.Open,

            FileAccess.Read, FileShare.Read))

            {

                using (StreamReader SR = new StreamReader(FS))

                {

                    while (text != null)

                    {

                        text = SR.ReadLine();

                        if (text != null)

                        {

                            ++numOfLines;

                        }

                    }

                }

            }

            return (numOfLines);

        }

        else

        {

            Regex RE = new Regex("\n", RegexOptions.Multiline);

            MatchCollection theMatches = RE.Matches(text);

            return (theMatches.Count + 1);

        }

    }

    else

    {

        // Handle a null source here.

        return (0);

    }

}

2-18-به دست آوردن تعداد خطوط متن در یک textBox


API مربوطه

کد:

[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]

        static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);

         const  uint EM_GETLINECOUNT = 0xBA;

        IntPtr wp=IntPtr.Zero;

        IntPtr lp=IntPtr.Zero;

طریقه استفاده

کد:

IntPtr lines = SendMessage(textBox1.Handle, EM_GETLINECOUNT,wp,lp);

            MessageBox.Show(lines.ToInt32().ToString());

2-19-چرا و کی باید از کلاس StringBuilder به جای string استفاده کنیم ؟


آبجکتهای string در دات نت immutable (غیرقابل تغییر) هستند :‌به این معنا که پس از مقدار گرفتن، دیگر قابل تغییر نیستند.

به مثال زیر دقت کنید :

کد:

string temp = "a";

temp = temp + "b";

temp += "c";

temp += "d";

در این مثال ابتدا یک آبجکت از نوع string میسازید، اما در خطوط بعدی با هر بار تغییر مقدار آن؛ آبجکتهای قدیمی فراموش و یک آبجکت جدید از نوع string - با مقدار جدید - ساخته میشود.
به این ترتیب میشه انتظار داشت که کد زیر چه سربار وحشتناکی روی منابع سیستم میتونه داشته باشه :

کد:

string s2 = new String('x', Int32.Parse(args[0]));

int loops = Int32.Parse(args[1]);

for (int j = 0; j < 10000000; j++) {

  string s = "";

  for (int i = loops; i > 0; --i)

    s += s2;

}

بصورت کلی در حالتیکه اعمال تغییرات زیاد روی رشته ها نیاز باشد بهتر است آبجکتی از کلاس StringBuilder ساخته و با خاصیت Append آن کار کنیم.

مثال - پیاده سازی همان کد قبلی :

کد:

string s2 = new String('x', Int32.Parse(args[0]));

int loops = Int32.Parse(args[1]);

for (int j = 0; j < 10000000; j++) {

  StringBuilder sb = new StringBuilder();

  for (int i = loops; i > 0; --i)

    sb.Append(s2);

  sb.ToString();

}

2-20-آغاز کار با کلاس Clipboard و دادن و گرفتن یک رشته متنی به/از آن


کد:

//clear clipboard

Clipboard.Clear();

//Set Text to clipboard

if (!string.IsNullOrEmpty(textBox1.Text))

    Clipboard.SetText(textBox1.Text);

//Get text from clipboard

MessageBox.Show(Clipboard.GetText());

2-21-نحوه استفاده کاراکترهای خاص (مثلا علامت کپی رایت)


می تونین با قرار دادن کد هگزای مربوط کاراکتر مورد نظر خود پس از "X\" آن کاراکتر را در هر متغیر رشته ای نشان دهید.
به عنوان مثال کد هگز مربوط به کاراکتر کپی رایت A9 می باشد.
چس اگر شما دستوری مانند زیر در برانامه داشته باشید

کد:

 MessageBox.Show("\xA9 by barnamenevis.org 2003-2008");

نتیجه ای مانند زیر (درون عکس) بدست خواهد آمد









داغ کن - کلوب دات کام
نظرات() 
фитнес резинки купить одесса
سه شنبه 11 اردیبهشت 1397 01:38 ق.ظ
резиновая петля купить в украине
фітнес резинки ціна
фитнес резинки esonstyle дроп
резинка для фитнеса
резинка для фитнеса чтобы пресидать
chocolate
یکشنبه 9 اردیبهشت 1397 10:30 ق.ظ
I'm curious to find out what blog system you happen to
be using? I'm having some minor security problems with my latest blog and I'd like to find something more risk-free.
Do you have any suggestions?
How do you get Achilles tendonitis?
شنبه 1 مهر 1396 06:03 ب.ظ
What's up, all the time i used to check weblog posts
here early in the break of day, because i like to gain knowledge of more and more.
How can you heal an Achilles tendonitis fast?
دوشنبه 27 شهریور 1396 05:23 ب.ظ
Generally I do not learn post on blogs, but I wish
to say that this write-up very pressured me to
try and do it! Your writing style has been amazed me. Thanks, quite great post.
How did the Achilles tendon get it's name?
دوشنبه 27 شهریور 1396 04:29 ب.ظ
Hi there to every one, the contents existing at this web site
are actually amazing for people knowledge, well, keep up the nice work fellows.
foot pain
دوشنبه 13 شهریور 1396 10:16 ق.ظ
Have you ever thought about creating an e-book or guest authoring on other blogs?
I have a blog based on the same information you discuss and would love to have you share some stories/information. I know my subscribers would enjoy your work.

If you are even remotely interested, feel free to shoot me
an email.
Can you grow taller with exercise?
شنبه 14 مرداد 1396 08:39 ب.ظ
Having read this I believed it was rather enlightening.
I appreciate you finding the time and energy to put this content together.

I once again find myself spending a lot of time both reading and posting comments.
But so what, it was still worthwhile!
foot pain epsom salt
سه شنبه 20 تیر 1396 07:54 ق.ظ
Hi i am kavin, its my first time to commenting anywhere, when i read this post i thought i could also make comment due to
this brilliant post.
foot pain end of day
دوشنبه 19 تیر 1396 03:27 ب.ظ
Hi my family member! I want to say that this article is amazing, nice written and
come with approximately all significant infos. I would like to see more posts like this.
foot pain identifier
چهارشنبه 31 خرداد 1396 02:04 ب.ظ
Hi there, You've done a fantastic job. I will definitely digg it and for my part recommend
to my friends. I am sure they'll be benefited from this web
site.
manicure
پنجشنبه 17 فروردین 1396 04:57 ق.ظ
I get pleasure from, result in I discovered just what I was having a look
for. You've ended my 4 day long hunt! God Bless you man. Have a great day.

Bye
رضا
چهارشنبه 13 خرداد 1388 10:25 ب.ظ
سلام

وبلاگتون واقعاً قشنگه
ما هم یک سایتی داریم، خوشحال می شم بیاین و نظرتون رو بگین.
در ضمن تبادل لینک هم می کنیم، برای این کار اول تو وبلاگتون به ما با عنوان دانلود آهنگ عکس فیلم ایرانی و خارجی لینک بدین بعد وبلاگ خودتون رو تو اینجا اضافه کنید، تا تو سایت ما لینک بشه: http://efun.ir/link?act=addsite

======= همکاری با ما در ازای دریافت حق الزحمه =========

در صورتی که می خواهید با ما همکاری کنید و ازای آن حق الزحمه دریافت کنید این قسمت را مطالعه کنید: http://efun.ir/helping
فرید
چهارشنبه 13 خرداد 1388 02:59 ب.ظ
سلام بر تو ای هموطن
ایا از پس مخارج زندگی خود بر نمیایید؟؟
ایا دنبال یک راه حل برای غلبه بر مشکلات مالی خود هستید؟
ما برای این مساله مشترک همه یک راه حل داریم.
درباره کمپانی پارمیس که بصورت قانونی در ایران ثبت شده چیزی شنیدی؟
میخواهی ماهی 5تا8 درصد سود بگیری؟
میخوای سرمایه هات توسط بانک تضمین بشن؟
میخواهی از درامد بازاریابی ماهانه10ها ملیونی استفاده کنی؟
و خیلی چیزای دیگه
از سایت ما دیدن کنید
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر




Admin Logo
themebox Logo