免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
.NET(C#):一個(gè)更方便使用的多功能Random類型

曾經(jīng)許多時(shí)候,需要隨機(jī)生成一些東西,結(jié)果還得慢慢用那個(gè).NET Framework中的Random類。后來為此麻煩自己慢慢寫一個(gè)更方便的多功能Random類型,取名MyRandom,今天把它分享出來。

 

這個(gè)類的所有成員都是靜態(tài)的,主要為了方便調(diào)用。當(dāng)然如果你想對(duì)它生成多個(gè)實(shí)例,可以把所有static關(guān)鍵字去掉。

其次這個(gè)類就是對(duì).NET中預(yù)定義的Random類的封裝,所以一些Random類型不適合的地方此類同樣會(huì)不適合,比如對(duì)安全強(qiáng)度需要很高的密碼隨機(jī)數(shù)生成,最好使用System.Security.Cryptography命名空間提供的RandomNumberGenerator類型。

 

對(duì)于.NET中的Random類型有的方法,此類型都有相應(yīng)支持,比如提供種子,隨機(jī)生成int, double, byte數(shù)組。下面就講MyRandom這個(gè)類提供的其他更全面的方法。

 

 

 

 

 

返回目錄

字符串相關(guān)操作

示例代碼:

//隨機(jī)生成11位數(shù)字

string str1 = MyRandom.String(StringRange.Digit, 11);

Console.WriteLine(str1);

//隨機(jī)生成5位小寫字母

string str2 = MyRandom.String(StringRange.Letter, 5).ToLower();

Console.WriteLine(str2);

//隨機(jī)從指定字符串中生成10位字符數(shù)組

char[] chars = MyRandom.CharArray("Mgen!", 10);

Console.WriteLine(new string(chars));

//隨機(jī)從字符串中返回一個(gè)字符串

char c = MyRandom.CharFromString("Mgen");

Console.WriteLine(c);

 

可能的一種輸出:

76593373627

qfdrt

gngeMgnM!!

g

 

 

 

 

返回目錄

數(shù)組相關(guān)操作

示例代碼:

int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

 

//隨機(jī)返回?cái)?shù)組中的一個(gè)成員

int i1 = MyRandom.ArrayMember(arr);

Console.WriteLine(i1);

//隨機(jī)返回?cái)?shù)組指定范圍內(nèi)的一個(gè)成員

int i2 = MyRandom.ArrayMember(arr, 2, 3);

Console.WriteLine(i2);

 

//根據(jù)指定數(shù)組的范圍隨機(jī)返回一個(gè)指定長(zhǎng)度的新數(shù)組

//變量newArray1長(zhǎng)度為5,成員都是arr變量中隨機(jī)的成員

int[] newArray1 = MyRandom.ArrayFixedSegment(arr, 5);

Console.WriteLine(string.Join(", ", newArray1));

 

//根據(jù)指定數(shù)組的范圍隨機(jī)返回一個(gè)動(dòng)態(tài)長(zhǎng)度的新數(shù)組

//變量newArray2數(shù)組長(zhǎng)度是隨機(jī)的(1到10范圍內(nèi)),數(shù)組成員是arr數(shù)組前三個(gè)成員中隨機(jī)的一個(gè)

int[] newArray2 = MyRandom.ArrayDynamicSegment(arr, 0, 3, 10, 1);

Console.WriteLine(string.Join(", ", newArray2));

 

//隨機(jī)填充一個(gè)字節(jié)(或整數(shù))數(shù)組

byte[] bytes = new byte[10];

MyRandom.ByteArray(bytes);

Console.WriteLine(BitConverter.ToString(bytes));

 

//隨機(jī)返回一個(gè)字節(jié)(或整數(shù))數(shù)組

var bytes2 = MyRandom.ByteArray(5);

Console.WriteLine(BitConverter.ToString(bytes2));

 

可能的一種輸出:

5

5

8, 3, 5, 6, 4

1, 2, 3, 3, 1, 2, 3, 2, 1, 2

3C-90-95-AB-65-8F-6B-5F-4F-1F

50-B2-A9-F4-78

 

 

 

返回目錄

枚舉相關(guān)操作

示例代碼:

//隨機(jī)生成枚舉值

for (int i = 0; i < 3; i++)

{

    Environment.SpecialFolder sf = MyRandom.Enumeration<Environment.SpecialFolder>();

    Console.WriteLine(sf);

}

 

可能的輸出:

DesktopDirectory

ProgramFiles

LocalApplicationData

 

 

 

返回目錄

循環(huán)相關(guān)操作

示例代碼:

//隨機(jī)執(zhí)行1-5次操作

MyRandom.Action(() => Console.WriteLine("操作1"), 5);

 

//隨機(jī)執(zhí)行0-3次操作(帶有索引值)

MyRandom.Action((idx) => Console.WriteLine("操作2,當(dāng)前是第{0}個(gè)", idx), 3, 0);

 

//隨機(jī)執(zhí)行2-4次操作(帶有索引值,帶有總共次數(shù))

MyRandom.Action((idx, total) => Console.WriteLine("操作3,當(dāng)前是第{0}個(gè),總共{1}個(gè)", idx, total), 4, 2);

 

 

可能的輸出:

操作1

操作1

操作2,當(dāng)前是第0個(gè)

操作2,當(dāng)前是第1個(gè)

操作3,當(dāng)前是第0個(gè),總共3個(gè)

操作3,當(dāng)前是第1個(gè),總共3個(gè)

操作3,當(dāng)前是第2個(gè),總共3個(gè)

 

 

返回目錄

源代碼下載

 

當(dāng)前版本的程序和源代碼下載
下載地址
注意:此為微軟SkyDrive存檔,請(qǐng)用瀏覽器直接下載,用某些下載工具可能無法下載
文件類型:.cs文件

 

:D

作者:Mgen
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Shell排序
C#數(shù)據(jù)結(jié)構(gòu)與算法系列(十九):選擇排序算法(SelectSort)
C# bubble sort,selection sort,insertion sort
Json.Net系列教程 4.Linq To JSON
[當(dāng)算法遇上數(shù)學(xué)]元芳,你怎么能隨即生成m個(gè)數(shù),讓其和等于n?(加強(qiáng)版)
c# break與continue運(yùn)用,數(shù)組
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服