惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
S
Secure Thoughts
月光博客
月光博客
美团技术团队
雷峰网
雷峰网
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
News and Events Feed by Topic
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Forbes - Security
Forbes - Security
W
WeLiveSecurity
P
Proofpoint News Feed
阮一峰的网络日志
阮一峰的网络日志
爱范儿
爱范儿
G
GRAHAM CLULEY
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
AI
AI
Last Week in AI
Last Week in AI
Google Online Security Blog
Google Online Security Blog
Schneier on Security
Schneier on Security
云风的 BLOG
云风的 BLOG
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Recent Announcements
Recent Announcements
Webroot Blog
Webroot Blog
T
Tor Project blog
Cisco Talos Blog
Cisco Talos Blog
N
News and Events Feed by Topic
罗磊的独立博客
The Register - Security
The Register - Security
Blog — PlanetScale
Blog — PlanetScale
T
Threat Research - Cisco Blogs
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
人人都是产品经理
人人都是产品经理
T
The Exploit Database - CXSecurity.com
www.infosecurity-magazine.com
www.infosecurity-magazine.com
B
Blog
腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Engineering at Meta
Engineering at Meta
Latest news
Latest news
IT之家
IT之家
D
DataBreaches.Net
博客园 - 司徒正美
N
Netflix TechBlog - Medium
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - 让心灵去旅行

在Javascript中用command模式模拟多线程,包含注释 项目小结 sql语句性能提高 oracle的异常 简单的消息发送小程序 XP风格进度条 xmlhttp实现无刷新页面 VS.Net 2005中文版下载地址收藏 在线统计与跟踪(新) 简单ocx控件制作方法(原创) 自己做控件小例子 可以双击的DataGrid 权限管理的方案(只有实现思想) 收藏几段SQL Server语句和存储过程(转载) 动态添加和删除行 键盘各键对应的键值 只能输入数值的输入框 操作动态表格的控件 模仿QQ的菜单滚动效果
随机抽取不重复的数据
让心灵去旅行 · 2005-11-28 · via 博客园 - 让心灵去旅行

为了实现从一堆文件中随机抽取一定比例,且不重复的文件出来,我尝试了好几种算法,这种比较简单,也能达成我的要求。废话少说,代码如下:

/// <summary>
        
/// 功能:        随机抽取一定比率,且不重复的文件名
        
/// 创建人:        AppleGreen
        
/// 创建时间:    2005-11-28
        
/// </summary>
        
/// <param name="aryFileName">包含文件名的数组</param>
        
/// <param name="dblRate">抽取比例</param>
        
/// <returns>文件名字符串</returns>

        public static string GetRandNum(ArrayList aryFileName,double dblRate)
        
{    
            
int intFileTotal = aryFileName.Count;
            
double d = intFileTotal*dblRate;
            
int intCount = Int32.Parse(d.ToString());
            
if(intCount>intFileTotal) intCount = intFileTotal; //比率超过1,按100%算

            Random rdm 
= new Random();
            StringBuilder sb 
= new StringBuilder();
            
for(int i=0;i<intCount;i++)
            
{
                
string strValue = aryFileName[rdm.Next(1,intFileTotal-i)].ToString();
                sb.Append(strValue
+";");
                aryFileName.Remove(strValue);
            }

            
return sb.ToString();
        }