c#循环赋值的问题

问题描述

代码如下stringcol="";stringcolor=“”;for(inti=0;i<7;i++){col=cs.randomcolor();color=color+"颜色"+i+"为:"+col;}cs.randomcolor调用会返回一个颜色的string运行时候7个颜色都是一样但是在color=这行加断点一句句调试又会有不同颜色求问这是什么情况,怎么解决?

解决方案

解决方案二:
伪随机呗你断点了,所以相隔了一段时间了,然后随机数不一样了,所以颜色不一样了
解决方案三:
因为随机数和系统时间有关。把随机数的Randomr=newRandom拿到循环外
解决方案四:
for循环里面的random会取到一样的数,这个情况很常见。最笨也是最简单的处理方法就是在random取到的随机数后面+循环参数i。但这个东西只能保证你取到不同的数,但实际没啥用意义,就是一个随机数+i
解决方案五:
Randomrnd=newRandom(DateTime.Now.MilliSecond);实例化的时候使用这种方法实例化试试
解决方案六:
随机数放在循环中是会有问题的。
解决方案七:
引用4楼fxj805835819的回复:

Randomrnd=newRandom(DateTime.Now.MilliSecond);实例化的时候使用这种方法实例化试试

随机,其实是建立在CPU的时间值上的,如果速度够快生成的值完全是可能重复出现连续值。因此,随机方法有一个东西叫时间因子,只要能保证这个时间因子不会重复,那么就可以保证到随机值的生成。这就是所谓的假随机。4楼代码可以,但这应该更加完美Randomrnd=newRandom(Guid.NewGuid().GetHashCode());

解决方案八:
或者你直接这样:col=cs.randomcolor();Thread.Sleep(50);color=color+"颜色"+i+"为:"+col;

解决方案九:
该回复于2016-06-05 23:26:02被版主删除

时间: 2024-12-31 08:38:57

c#循环赋值的问题的相关文章

关于增强for循环赋值问题(JAVA) 求大神回复一下小白

问题描述 关于增强for循环赋值问题(JAVA) 求大神回复一下小白 自定义的类: class SS{ String a; public SS(String a) { super(); this.a = a; } public String getA() { return a; } public void setA(String a) { this.a = a; } @Override public String toString() { // TODO Auto-generated metho

c++-C++ 二维数组通过for循环赋值,用指针体现,出现无限循环。。。。

问题描述 C++ 二维数组通过for循环赋值,用指针体现,出现无限循环.... 代码如下: for(int (*p)[4]=ia;p <p+3;++p) for(int *q=*p;q <q+4;++q) cout<<*q<<" "; cout<<endl; 本人是一名菜鸟 解决方案 p <p+3 这个条件永远成立,因为p被更改了,可以这么写: int *maxp = p + 3; for(int (*p)[4]=ia;p <

请问,在同一页面,不能分两次为多个linkbutton控件循环赋值么,第一次循环可以,第二次循环就报错了,在线等,急

问题描述 出错的是我第二次用循环赋值如果把这第二段隐藏那么第一段循环赋值还是运行正常的下面是代码.谢谢大家.第一次的循环的linkbutton的id是LKdalei1,LKdaleiL2,Kdalei3,LKdalei4·····共20个第二次的循环的linkbutton的id是LKxiaolei1,LKxiaolei2,LKxiaolei3·······共8个我的select语句是没有问题的,在线等,急************第一次循环***************第一次循环*********

sql-MSSQL如何将表A的列名循环赋值给@name

问题描述 MSSQL如何将表A的列名循环赋值给@name 如题,本人刚学SQL的小白--想把截图的表从第二个列名,也就是截图中圈到的"重庆"两个字赋值给一个变量,然后进行一段查询语句,之后在讲第二个列名,也就是"成都"两个字赋值给一个变量.一直到把所有列名赋值完.因为后面要运行的查询语句是一大段用到这个列名的查询语句,一次次的打太麻烦,所以想用一个变量来代替.听说要用到游标,但不知道该怎么用.请各位大神指教! 解决方案 没看懂,同一个表的字段赋值 update 表名

关于cin输入循环赋值的问题

问题描述 关于cin输入循环赋值的问题 char a[11]; for(int i=0;i { cin>>a[i]; } 输入 1 2 3 4 5 6 .... 能不能横着一行直接赋值了,不要输一个数按一下enter 求求救 解决方案 输入 1 2 3 4 5 6 最后再回车 解决方案二: cin>>a[0]>>a[1]...>>a[11]; 解决方案三: 横着按1 2 3 4 5 6,每按一个数字打一个空格,最后再按entwr键就行了

javascript-js中getElementsByName获取的checkbox如何循环赋值

问题描述 js中getElementsByName获取的checkbox如何循环赋值 循环赋值时的item是什么意思.比如说获取的checkbox数组aa, 就不能aa[i].checkbox,只能有aa.item? 解决方案 item是js定义的项

我new了一个对象A, A 对象里还有一个List对象B 我想给这个B循环赋值

问题描述 publicclassAclass{publicintId{get;set;}publicstringname{get;set;}publicvirtualList<Bclass>text{get;set;}}publicclassBclass{publicstringtext{get;set;}publicstringname{get;set;}}我要赋值Aclassa=newAclass(){Id=1,name="name"};现在我想给Bclass赋值应该怎

如何给statuschart控件的value循环赋值,从而看到连续折线

问题描述 usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Drawing;usingSystem.Data;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Security.Cryptography;namespace波形显示{publicpartialclassUserControl1:UserControl{pub

怎样动态循环给list赋值呢

问题描述 有以下代码:publicpartialclassForm1:Form{publicclassComboBoxMember{publicstringId{get;set;}publicstringText{get;set;}}List<ComboBoxMember>list=newList<ComboBoxMember>();publicForm1(){InitializeComponent();list=newList<ComboBoxMember>(){ne