我已經創建了一個數據在List
中的示例。這種定製類Person
僅僅是爲了獲取你原來上面的例子:
public class Person
{
public int ID { get; set; }
public string Name { get; set; }
}
這種方法隨機化的名字在List<Person>
順序:
public string GetRandomNames(List<Person> people)
{
int numberOfPeople = people.Count;
string nameLabel;
string[] names = new string[numberOfPeople];
Random r = new Random();
for(int i = 0; i<numberOfPeople; i++)
{
int randomIndex = r.Next(0, people.Count);
names[i] = people[randomIndex].Name;
people.RemoveAt(randomIndex);
}
foreach(string name in randomNames)
{
nameLabel += name + ", ";
}
return nameLabel;
}
對於這個例子的目的,我有創建列表如下。當然,您的列表將來自其他來源,例如您提到的SQL數據庫。然後
List<Person> people = new List<Person>();
people.Add(new Person() { ID = 1, Name = "Nik" });
people.Add(new Person() { ID = 2, Name = "Steve" });
people.Add(new Person() { ID = 3, Name = "John" });
people.Add(new Person() { ID = 4, Name = "Denny" });
people.Add(new Person() { ID = 5, Name = "Joe" });
people.Add(new Person() { ID = 6, Name = "Mike" });
people.Add(new Person() { ID = 7, Name = "Elena" });
people.Add(new Person() { ID = 8, Name = "Michel" });
用法是沿着線的東西:
string nameLabel = GetRandomNames(people);
請讓我知道這不回答你的問題。
很好的答案,除了打破一個基本的規則:避免使用Load事件處理程序,共同操作](http://stackoverflow.com/questions/4933958/vs2010-does-not-show-unhandled-exception-message-in-a-winforms-application-on-a) - 使用構造函數或顯示()處理程序,而不是 – miroxlav
它不起作用,我得到錯誤:類型'列表(字符串)'的值不能轉換爲'字符串()'...:P – LazaBre
檢查您的代碼,您可能定義了'String()'而不是'列表(字符串)'。在我的代碼中沒有'String()',我使用'List(of String)' –