乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

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

       緣木求魚001 2012-09-30

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

       

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

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

       

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

       

       

       

       

       

      返回目錄

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

      示例代碼:

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

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

      Console.WriteLine(str1);

      //隨機生成5位小寫字母

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

      Console.WriteLine(str2);

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

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

      Console.WriteLine(new string(chars));

      //隨機從字符串中返回一個字符串

      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 };

       

      //隨機返回數(shù)組中的一個成員

      int i1 = MyRandom.ArrayMember(arr);

      Console.WriteLine(i1);

      //隨機返回數(shù)組指定范圍內(nèi)的一個成員

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

      Console.WriteLine(i2);

       

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

      //變量newArray1長度為5,成員都是arr變量中隨機的成員

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

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

       

      //根據(jù)指定數(shù)組的范圍隨機返回一個動態(tài)長度的新數(shù)組

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

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

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

       

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

      byte[] bytes = new byte[10];

      MyRandom.ByteArray(bytes);

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

       

      //隨機返回一個字節(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)操作

      示例代碼:

      //隨機生成枚舉值

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

      {

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

          Console.WriteLine(sf);

      }

       

      可能的輸出:

      DesktopDirectory

      ProgramFiles

      LocalApplicationData

       

       

       

      返回目錄

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

      示例代碼:

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

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

       

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

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

       

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

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

       

       

      可能的輸出:

      操作1

      操作1

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

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

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

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

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

       

       

      返回目錄

      源代碼下載

       

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

       

      :D

      作者:Mgen

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多