Tôi có một hàm đệ quy, và bên trong hàm một phần tử ngẫu nhiên từ một mảng được chọn, nhưng không có vấn đề gì tôi làm tiếp tục nhận được cùng một hạt giống.Chức năng đệ quy hạt giống ngẫu nhiên. Tôi phải làm nó như thế nào?
static Random rand = new Random();
public String spintaxParser(String s)
{
if (s.Contains('{'))
{
int closingBracePosition = s.IndexOf('}');
int openingBracePosition = closingBracePosition;
while (!s[openingBracePosition].Equals('{'))
openingBracePosition--;
String spintaxBlock = s.Substring(openingBracePosition, closingBracePosition - openingBracePosition + 1);
String[] items = spintaxBlock.Substring(1, spintaxBlock.Length - 2).Split('|');
s = s.Replace(spintaxBlock, items[rand.Next(items.Length)]);
return spintaxParser(s);
}
else
{
return s;
}
}
Cách tốt nhất để xử lý Ngẫu nhiên trong chức năng đệ quy là gì?
Bạn có một số mã không? –
Bạn đã thử tìm kiếm câu trả lời cho điều này chưa? Có rất nhiều câu hỏi về chủ đề sử dụng Random - ví dụ: http://stackoverflow.com/questions/4855756/random-number-generation-same-number-returned (tự đề cập đến các câu hỏi liên quan khác). – AAT
Chúng tôi sẽ cần một số mã nguồn để thực sự có thể trợ giúp. –