C# ライブラリに固有の System.Random を使用する以外に、これを適切に (または最善の方法で) MVC4 の C# に転送するにはどうすればよいでしょうか。System.Random は、メソッドが短時間連続して呼び出された場合、番号がランダムにならないため、扱いにくく負担が大きいように思えます。
私が抱えているもう 1 つの問題は、引用文字列を保持する予定のデータベースが成長し続ける場合、System.Random メソッドには Min と Max が必要であるということです。サイズを適切に調整するにはどうすればよいですか?
これは元の JavaScript コードです。
var which = Math.round(Math.random()*(Quotation.length - 1));
新しいQuotationで常に更新できるモデルから引っ張ることで、このJavaScriptコードを再現してより良い機能を持たせようとしています. このコードを変更し続ける必要はありません。
int ranNum;
Random random = new Random();
ranNum = random.Next(1,7);
引用符が増えるたびに...現在、7 つの引用文字列のいずれかをリストしますが、データベースの引用符が 7 から 9 に増加した場合は、戻って 7 を 9 に変更する必要があります。などなど。これは面倒です。もっと良い方法が必要です。
元の JavaScript コードは次のとおりです。
<script language="JavaScript">
function rotateEvery(sec)
{
var Quotation=new Array()
// QUOTATIONS
Quotation[0] = '<p>A journey of a thousand li begins with a single step.</p> Confucian Proverb.';
Quotation[1] = '<p>A picture is worth a thousand words.</p> Confucian Proverb.';
Quotation[2] = '<p>After all I have no nationality and am not anxious to claim any. Individuality is more than nationality.</p> Confucian Proverb.';
Quotation[3] = '<p>Be not ashamed of mistakes and thus make them crimes.</p> Confucian Proverb.';
Quotation[4] = '<p>He who counsels himself, counsels a fool.</p> Confucian Proverb.';
Quotation[5] = '<p>If thy strength will serve, go forward in the ranks; if not, stand still.</p> Confucian Proverb.';
Quotation[6] = '<p>Train equally the mind and body.</p> Confucian Proverb.';
var which = Math.round(Math.random()*(Quotation.length - 1));
document.getElementById('textrotator').innerHTML = Quotation[which];
setTimeout('rotateEvery('+sec+')', sec*1000);
}
</script>
前もって感謝します。