11/19/11

Tạo số và chuỗi ngẫu nhiên trong C #

Class Random được xác định trong khung thư viện class .NET cung cấp chức năng để tạo ra các số ngẫu nhiên.

Class Random có ba phương thức -
Next, NextBytes, và NextDouble. Phương thức Next trả về một số ngẫu nhiên, NextBytes trả về một mảng các byte với những con số ngẫu nhiên, và NextDouble trả về một số ngẫu nhiên giữa 0.0 và 1.0. Phương thức Next có ba hình thức nạp chồng và cho phép bạn thiết lậptối đa phạm vi tối thiểu của số ngẫu nhiên.


Các mã sau đây trả về một số ngẫu nhiên:

View Code:
int num = random.Next();
Các mã sau đây trả về một số ngẫu nhiên nhỏ hơn 1000.
View Code:
int num = random.Next(1000);
Các mã sau đây trả về một số ngẫu nhiên giữa min và max:
View Code:
private
int RandomNumber( int min, int max){


Random random = new Random();


return random.Next(min, max);


}
Tại một số điểm, bạn cũng có thể tạo ra các chuỗi ngẫu nhiên. Tôi đã tạo ra một phương thức, trong đó có tham số đầu tiên là kích thước của chuỗi và tham số thứ hai nếu bạn muốn chuỗi được chữ thường.
View Code:
///<summary>
///Tạo ra một chuỗi ngẫu nhiên với chiều dài
///</summary>
///<param name="size"> Kích thước của chuỗi </param>
///<param name="lowerCase">Nếu đúng, tạo ra chuỗi chữ thường</param>
///<returns>chuỗi ngẫu nhiên</returns>
private string RandomString( int size, bool lowerCase)
{

StringBuilder builder = new StringBuilder();


Random random = new Random();


char ch ;


for ( int i=0; i<size; i++)
{

ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * random.NextDouble() + 65))) ;


builder.Append(ch);


}


if (lowerCase)


return builder.ToString().ToLower();


return builder.ToString();


}
Bạn thậm chí có thể kết hợp hai phương thức- RandomNumber và RandomString để tạo ra một sự kết hợp của chuỗi và số ngẫu nhiên. Ví dụ, mã sau đây tạo ra một mật khẩu có độ dài 10 với chữ đầu tiên 4 chữ cái thường , sau 4 chữ số, và 2 chữ cái cuối cùng là chữ hoa.

View Code:
public string GetPassword(){


StringBuilder builder = new StringBuilder();


builder.Append(RandomString(4, true ));


builder.Append(RandomNumber(1000, 9999));


builder.Append(RandomString(2, false ));


return builder.ToString();


}
Bookmark and Share

0 comments:

Post a Comment

Next previous home

Cộng đồng yêu thiết kế Việt Nam Thiet ke website, danang