Tạo một chuỗi ký tự ngẫu nhiên– Create a random string in C#

Việc tạo ra một số ngẫu nhiên là một điều rất bình thường và rất quen với dân lập trình, nhưng việc tạo ra một chuỗi ký tự ngẫu nhiên quả là một điều ít ai để ý đến. Bài viết này sẽ trình bày cách thức tạo ra một chuỗi ký tự ngẫu nhiên bằng C#

Hầu như chúng ta đều quen thuộc với class Random với việc phát sinh một số ngẫu nhiên như:

Random rand = new Random();
int rnumber1 = rand.Next();  // phát sinh một số nguyên ngẫu nhiên.
int rnumber2 = rand.Next(1,50); // phát sinh một số ngẫu nhiên từ 1 –> 50

Bây giờ chúng ta sẽ thử tạo ra một chuỗi ngẫu nhiên như trong số xem thế nào. Đây là điều ít người làm nhưng không phải là không làm được trong C#. Các bạn chú ý đoạn code dưới đây:

namespace Random_String
{
    class Program
    {
         private string RandomString(int size, bool lowerCase)
        {
            StringBuilder sb = new StringBuilder();
            char c;
            Random rand = new Random();
            for (int i = 0; i < size; i++)
            {
                c = Convert.ToChar(Convert.ToInt32(rand.Next(65,87)));
                sb.Append(c);
            }
            if (lowerCase)
                return sb.ToString().ToLower();
            return sb.ToString();
            
        }
        static void Main(string[] args)
        {
            Program p = new Program();
            string s1 = p.RandomString(10, false);
            Console.WriteLine(s1);
            string s2 = pr.RandomString(100,true);
            Console.WriteLine(s2);
        }
    }
}

Đầu tiên trong hàm  RandomString(int size, bool lowerCase)

– Size là độ dài của chuỗi cần phát sinh.

– lowerCase: nếu true (chuyển về kiểu chữ thường), false ( chữ hoa.)

–  StringBuilder sb  để sử dụng nối các ký tự được tạo ra trong vòng lặp thành một chuỗi.

– c là biến kiểu char được tạo ra để lưu ký tự được tạo ra.

– Convert.ToChar(Convert.ToInt32(rand.Next(65,87))) là hàm xử lý chuyển kiểu số được tạo ra ngẫu nhiên sang kiểu ký tự 65 –> 87 (A –> Z).

– sb.ToString().ToLower() : chuyển kiểu chữ in sang chữ thường.

Click vào đây để download project demo bài này (Visual Studio 2010).

Advertisements

About thanhcuong1990

Handsome and talent!! ^^
This entry was posted in C#. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s