Существует еще один, который вы можете использовать
'mike',
'pass' => 'se_ret'
);
$files = array(
array(
'name' => 'uimg',
'type' => 'image/jpeg',
'file' => './profile.jpg',
)
);
$response = http_post_fields("http://www.example.com/", $fields, $files);
?>
Простое решение создало бы массив (или List<T>
) и, чем рандомизируют его индексы.
РЕДАКТИРОВАНИЕ:
static IEnumerable<T> Randomize<T>(this IEnumerable<T> source) {
var array = source.ToArray();
// randomize indexes (several approaches are possible)
return array;
}
РЕДАКТИРОВАНИЕ: Лично, я нахожу, что ответ Jon Skeet более изящен:
var results = from ... in ... where ... orderby Guid.NewGuid() select ...
И уверенный, можно взять генератор случайных чисел вместо Guid.NewGuid()
.
Ответ Toro является тем, который я использовал бы, а скорее как это:
static IEnumerable<T> Randomize<T>(this IEnumerable<T> source)
{
var list = source.ToList();
var newList = new List<T>();
while (source.Count > 0)
{
//choose random one and MOVE it from list to newList
}
return newList;
}
Простой способ сделать это состоит в том, чтобы заказать Guid.NewGuid()
, но тогда упорядочивание происходит на стороне клиента. Можно быть в состоянии убедить EF сделать что-то случайное на стороне сервера, но это не обязательно просто - и выполнение его с помощью "порядок случайным числом" , по-видимому, повреждается .
, Чтобы заставить упорядочивание произойти на стороне.NET вместо в EF, Вам нужно AsEnumerable
:
IEnumerable<MyEntity> results = context.MyEntity
.Where(en => en.type == myTypeVar)
.AsEnumerable()
.OrderBy(en => context.Random());
было бы лучше стать незаказанным версия в списке и затем переставить это все же.
Random rnd = ...; // Assume a suitable Random instance
List<MyEntity> results = context.MyEntity
.Where(en => en.type == myTypeVar)
.ToList();
results.Shuffle(rnd); // Assuming an extension method on List<T>
Перестановка более эффективна, чем сортировка кроме чего-либо еще. Посмотрите мой статья о случайности для получения дополнительной информации о получении соответствующего Random
экземпляр все же. Существует много реализаций перестановки Фишера-Йетса, доступных на Переполнении стека.
Как насчет этого:
var randomizer = new Random();
var results = from en in context.MyEntity
where en.type == myTypeVar
let rand = randomizer.Next()
orderby rand
select en;
Решения, предоставленные здесь, выполняются на клиенте. Если Вы хотите что-то, что выполняется на сервере, вот решение для LINQ к SQL, который можно преобразовать в Платформу Объекта.