【发布时间】:2011-01-05 15:32:27
【问题描述】:
今天我的大脑正在融化,我想不出如何编写这么简单的代码。 numberList 是一串数字,由逗号分隔,如“2、34、10”等。当我请求一个随机数时,我需要检查字符串是否有数字,如果有,我想继续请求一个随机数,直到随机数绝对不在字符串中。我想不出我会做什么样的循环来让它工作:
Random r = new Random();
public int RandomPos(int max) {
int i;
do {
i = r.Next(max) + 1;
}
while (!numberList.Contains(i.ToString()));
return i;
}
【问题讨论】:
-
这有什么问题? (顺便说一句,我为糟糕的语法道歉)
-
@Greg 一方面它不起作用,如果一个数字例如'3' 是另一个数字的一部分,例如'34'
-
看我的回答....我认为你应该跳过
!,因为他想拿第一个不在列表中的人。 -
当心 - 包含在这里会给出误报;例如,“4,20,7”包含“2”。我自己会得到整数。
-
为什么 numberList 是 String 而不是 List
(或 HashSet )?