2016-11-05 54 views
0

我的最后一个问题后,完全死了,我想请教一个问题:如何轻松随机化数组?

我怎么能轻松实现阵列随机到我的代码:

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

这是我的代码,我使用skype4comlib所以不用担心,但我想找到一种方法,我可以将用户的Skype'心情'设置为一个数组中的随机元素,例如“我在编码方面失败,慢布朗羊跳过狐狸”是的哦,也是我将附加到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兄弟真的帮助了这么多谢谢 –

+0

不客气。良好的编码! – user3598756

1

可以作为数组的索引使用下面的表达式:new Random().Next(0,SIZE_OF_YOUR_ARRAY)

所以,如果你的数组称为MoodTexts你可以使用类似的东西:

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

+0

Thankyou兄弟帮助很多 –

0

创建一个私有成员作为Random类的一个实例。

var random = new Random(); 

然后用它来获得一个新的随机数,只要你需要一个。

random.Next(0, messagesArray.Length) 

这会给你一个0到数组长度减1的随机数,你可以用它随机索引到数组中。

创建Random类的单个实例很重要。如果您重复创建Random类,则值的随机性可能不会像您期望的那样随机。

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

+0

嗨,我以前就这样试过,但它没有工作......尽管如此谢谢你 –