| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6719 人关注过本帖
标题:在c# 中怎么随机抽取数组中的数据
只看楼主 加入收藏
zgy0209zgy
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2005-8-15
收藏
 问题点数:0 回复次数:10 
在c# 中怎么随机抽取数组中的数据
在c# 中怎么随机抽取数组中的数据
比如说是十个数据要从中随机抽其四个,怎么做,最好有代码,谢谢
搜索更多相关主题的帖子: 随机 数据 抽取 
2005-08-18 10:07
梦幻情缘
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:769
专家分:20
注 册:2005-4-4
收藏
得分:0 
Random r=new Random();
2005-08-18 15:29
绿风
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-8-16
收藏
得分:0 

using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data;

namespace WindowsApplication1 { /// <summary> /// Form1 的摘要说明。 /// </summary> public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.Button button1; private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label4; Random r; ArrayList a; int[] f; /// <summary> /// 必需的设计器变量。 /// </summary> private System.ComponentModel.Container components = null;

public Form1() { // // Windows 窗体设计器支持所必需的 // InitializeComponent();

// // TOD 在 InitializeComponent 调用后添加任何构造函数代码 // }

/// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); }

#region Windows 窗体设计器生成的代码 /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.button1 = new System.Windows.Forms.Button(); this.label1 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); this.SuspendLayout(); // // button1 // this.button1.Location = new System.Drawing.Point(104, 168); this.button1.Name = "button1"; this.button1.TabIndex = 0; this.button1.Text = "获取"; this.button1.Click += new System.EventHandler(this.button1_Click); // // label1 // this.label1.Location = new System.Drawing.Point(32, 24); this.label1.Name = "label1"; this.label1.TabIndex = 1; // // label2 // this.label2.Location = new System.Drawing.Point(176, 16); this.label2.Name = "label2"; this.label2.TabIndex = 2; // // label3 // this.label3.Location = new System.Drawing.Point(24, 72); this.label3.Name = "label3"; this.label3.TabIndex = 3; // // label4 // this.label4.Location = new System.Drawing.Point(176, 72); this.label4.Name = "label4"; this.label4.TabIndex = 4; // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); this.ClientSize = new System.Drawing.Size(292, 273); this.Controls.Add(this.label4); this.Controls.Add(this.label3); this.Controls.Add(this.label2); this.Controls.Add(this.label1); this.Controls.Add(this.button1); this.Name = "Form1"; this.Text = "Form1"; this.ResumeLayout(false);

} #endregion

/// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Application.Run(new Form1()); }

private void button1_Click(object sender, System.EventArgs e) { //每次单击获取按钮时把C重置为4 int c=4; //初始化Random r=new Random(); //初始化集合实例盛放随机数 a=new ArrayList(); //for循环获取四个不同的值并添加到集合a中 for(int b=0;b<c;b++) { //声明变量d int d=0; //生成一个随机数并付给d d=r.Next(0,10); //判断集合a中是否已经包含新生成的d这个随机数如果包含把c加1使得集合a能添加4次 //如果不包含把新生成的随机数d添加到集合a中 if(a.Contains(d)) { c++; } else { a.Add(d); } } //调用获取a中的随机数的方法 this.getValues(a); //每单击一次按钮把集合a清空一次 this.a.Clear(); //声明一个十个数的数组 int[] i={1,4,5,7,2,3,6,9,0,8}; //把从数组里获得的不同的四个数显示在标签上 this.label1.Text=i[f[0]].ToString(); this.label2.Text=i[f[1]].ToString(); this.label3.Text=i[f[2]].ToString(); this.label4.Text=i[f[3]].ToString();

} public void getValues( IEnumerable myList ) { f=new int[4]; System.Collections.IEnumerator myEnumerator = myList.GetEnumerator(); for(int g=0;g<4;g++) { myEnumerator.MoveNext(); f[g]=Convert.ToInt32(myEnumerator.Current); } myEnumerator.Reset(); }

} } 这是一个随机获取数组里4个不同数的程序可能有点麻。 水平有限,愿见谅!


2005-08-18 16:19
风霜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:7
帖 子:242
专家分:0
注 册:2005-3-4
收藏
得分:0 
Random r1=new Random();
 int[] i={1,4,5,7,2,3,6,9,0,8};
textBox1.text=i[r1].ToString();

昔日犹存, 昔日枉存. 故人尚在, 故人何在?
2005-08-18 17:11
zgy0209zgy
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2005-8-15
收藏
得分:0 
谢谢各位,大侠相助,搞明白了,[em40]
以后有问题一定还经常和大家讨论
2005-08-18 18:37
梦幻情缘
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:769
专家分:20
注 册:2005-4-4
收藏
得分:0 
昨夜西风凋碧树。独上高楼,望尽天涯路。
衣带渐宽终不悔,为伊消得人憔悴。
众里寻他千百度,蓦然回首,那人却在灯火阑珊处。
2005-08-18 18:41
Smling
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-8-31
收藏
得分:0 
在datagrid上显示数据,双击一行就弹出一个窗体,怎么样在双击的时候得到所击的那行的用户信息呢?如用户ID,最好有代码,十分谢谢
2005-09-07 12:44
Smling
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-8-31
收藏
得分:0 
那位知道就告诉MM吧,急啊!!!!!!!!!

油箱:freshday9999@

十分谢谢
2005-09-07 12:46
bgweqk
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-9-7
收藏
得分:0 
第二位老兄代码写得太烂,变量全用的a,b,c,d,我日,不规范
2005-09-07 16:53
wj2051
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2005-8-24
收藏
得分:0 
以下是引用Smling在2005-9-7 12:44:32的发言: 在datagrid上显示数据,双击一行就弹出一个窗体,怎么样在双击的时候得到所击的那行的用户信息呢?如用户ID,最好有代码,十分谢谢
private void dataGrid1_DoubleClick(object sender, System.EventArgs e) { DataRowView row=this.dv[this.BindingContext[this.dv].Position]; //dv为绑定到datagrid上的视图 MessageBox.Show(row["OrderID"].ToString()); }

2005-09-08 14:59
快速回复:在c# 中怎么随机抽取数组中的数据
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018101 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved