[匯入]自訂隨機化類.net

來源:互聯網
上載者:User
隨機種子取電腦系統毫秒精確還是有可能重複的。這次就碰到了這個問題,電腦速度太快就會遇到

vb.net
Public Class MyRandom
Private _strin As String
Private _strout As String
Private _rnd As Random

Public Sub New(ByVal strin As String)

_rnd = New Random(System.Environment.TickCount) '確保每次使用得到不同的隨機數,System.Environment.TickCount表示系統啟動以來的毫秒數
_strin = strin
End Sub

Private Function GetOneRandomNum(ByVal strformat As String) As String
Dim strtemp As String
Select Case strformat
Case "*"
Dim itmp As Integer = _rnd.Next(36)
If itmp < 10 Then
strtemp = _rnd.Next(10).ToString()
Else
strtemp = Convert.ToChar(_rnd.Next(26) + 65).ToString()
End If

Case "#"
strtemp = _rnd.Next(10).ToString()

Case "$"
strtemp = Convert.ToChar(_rnd.Next(26) + 65).ToString()

Case Else
strtemp = strformat

End Select
Return strtemp

End Function

Public Function GetRandomNum() As String
_strout = String.Empty
Dim i As Integer
For i = 0 To _strin.Length - 1
_strout += Me.GetOneRandomNum(_strin.Substring(i, 1))
Next
Return _strout
End Function

End Class

c#

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

/// <summary>
/// Summary description for MyRandom
/// </summary>
public class MyRandom
{
private string _strin;
private string _strout;
private Random _rnd;

public MyRandom(string strin)
  {

_rnd = new Random(System.Environment.TickCount);//確保每次使用得到不同的隨機數,System.Environment.TickCount表示系統啟動以來的毫秒數
_strin = strin;

    //
    // TODO: Add constructor logic here
    //
  }
private string GetOneRandomNum(string strformat)
{
string strtemp;
switch (strformat)
{
case "*":
{
int itmp = _rnd.Next(36);
if (itmp < 10)
strtemp = _rnd.Next(10).ToString();
else
strtemp = Convert.ToChar(_rnd.Next(26) + 'A').ToString();
break;
}
case "#":
{
strtemp = _rnd.Next(10).ToString();
break;
}
case "$":
{
strtemp = Convert.ToChar(_rnd.Next(26) + 'A').ToString();
break;
}
default:
{
strtemp = strformat;
break;
}
}
return strtemp;

}

public string GetRandomNum()
{
_strout = String.Empty;
for (int i = 0; i < _strin.Length; i++)
{
_strout += this.GetOneRandomNum(_strin[i].ToString());
}
return _strout;
}

}
文章來源:http://vlly.net/myblog/article.asp?id=2153

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.