2016-11-05 4 views
0

После моего последнего вопроса полностью умер, я хотел бы задать вопрос:Как легко рандомизировать массив?

Как я мог легко реализовать в рандомизации массив в мой код:

private void button9_Click(object sender, EventArgs e) 
{ 
    axSkype1.CurrentUserProfile.MoodText =(); 
} 

Это мой код, и я использую skype4comlib, так что не волнуйтесь, но я хотел бы найти способ, которым я мог бы настроить настроение пользователей Skype на случайный элемент массива, такой как «Я терпеть неудачу при кодировании, Slow Brown Sheep перепрыгнул через лису», да, а также я собираюсь приложить это к 5-минутному таймеру, но да, я могу это сделать, но не массив.

+0

Таким образом, вы просто хотите, чтобы выбрать случайный элемент из массива уже заполненным? – Keiwan

+0

Thankyou все так много stackoverflow имеет действительно хорошее сообщество, что я не очень привык к пока, но я знаю, что они готовы помочь, так что спасибо –

ответ

0
private void button9_Click() 
    { 
     string messages = "I am failing at coding,The Slow Brown Sheep jumped over the fox,Message3,Message4, Message5"; 
     string[] messagesArray = messages.Split(new Char[] { ',' }); 
     axSkype1.CurrentUserProfile.MoodText =messagesArray[new Random().Next(0,messagesArray.Length)].ToString(); 
    } 

или вы может использовать метод для возврата случайной строки с строкой «сообщения»:

private void button9_Click() 
    { 
     string messages = "I am failing at coding,The Slow Brown Sheep jumped over the fox,Message3,Message4,Message5"; 
     axSkype1.CurrentUserProfile.MoodText =GetRandomMessage(messages); 
    } 

    string GetRandomMessage(string messages) 
    { 
     string[] messagesArray = messages.Split(new Char[] { ',' }); 
     return messagesArray[new Random().Next(0, messagesArray.Length)].ToString(); 
    } 

или

+0

Thankyou bro, который действительно помог так сильно поблагодарить –

+0

Добро пожаловать , Хорошая кодировка! – user3598756

1

Вы можете использовать в качестве индекса массива следующее выражение: new Random().Next(0,SIZE_OF_YOUR_ARRAY)

Так что, если ваш массив называется MoodTexts вы можете использовать что-то вроде этого:

String randomText = MoodTexts[new Random().Next(0,MoodTexts.Length)];

+0

Thankyou bro, который помог alot –

0

Создайте приватный член как экземпляр класса Random.

var random = new Random(); 

Затем используйте его, чтобы получить новое случайное число, когда вам это нужно.

random.Next(0, messagesArray.Length) 

Это даст вам обратно случайное число между 0 и длину вашего массива минус 1, который вы можете использовать для случайного индекса в массиве.

Создание единственного экземпляра класса Random важно. Если вы снова и снова воссоздаете случайный класс, случайность значений может быть не такой случайной, как хотелось бы.

https://msdn.microsoft.com/en-us/library/system.random.aspx

+0

Hiy я пробовал это, как это раньше, но он не работал ... спасибо, в любом случае, хотя –