2011-12-20 2 views
2

У меня есть простая модельСоздать список случайных значений из заданного списка в C# (MVC2)

public class OneModel 
    { 
     public string Email { get; set; } 

     public string Name { get; set; } 
    } 

И я создал простой список (OneModel типа данных):

List<OneModel> someLists = new List<OneModel>{ 
      new OneModel{Name="A 1", Email="[email protected]"}, 
      new OneModel{Name="A 2", Email="[email protected]"}, 
      new OneModel{Name="A 3", Email="[email protected]"}, 
      new OneModel{Name="B 1", Email="[email protected]"}, 
      new OneModel{Name="C 1", Email="[email protected]"}, 
    } 

Я хочу создайте еще один список со случайным конкатенированным Name из первого списка, например: List<string> ... {"A 1-A 3", "A 2-C 1",...} или что-то в этом роде.

Как это сделать?

ответ

3

Предполагая, что .NET Framework 4.0:

var random = new Random(); 
var result = new List<string>(); 
var count = random.Next(10, 20); // How many results do you want, really!? 
for (int i = 0; i < count; ++i) { 
    var query = from item in someLists 
       order by random.Next() 
       select item.Name; 
    var items = query.Take(2); // I assume you want two "names" in each item 
    result.Add(string.Join("-", items)); 
} 

EXAMINE result для вашего списка случайной длины случайной случайности ...

Но что вам это нужно ...?

+0

Я хочу узнать больше о списке и получить случайные значения из общего списка. –

+0

Спасибо, atornblad –

Смежные вопросы