什么叫线程,什么叫正规,什么叫递归 什么叫线程,什么叫正规,什么叫递归,还有C#后期可用的一些特殊连接代码,Try已经会了, 还有没有什么经常用的如Get ,set 什么之类的。求高手给点例子,学习。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 线程。程序执行流的实例。轻量级的进程。每个线程拥有自己的寄存器上下文、堆栈,但是没有独立的地址空间。线程的目的是,使得程序的多个工作能够并行而且异步地工作,提高效率。在多个CPU的系统上,线程可以同时运行。 递归方法或者函数自身直接或者间接调用自身。主要用于遍历、枚举和计算递推的表达式。get/set一种特殊的方法,用来获取或者设置表达式的值,又叫访问器。推荐学习资料:图书馆、Google、MSDN Library。 你还是看看《beginning C# 2005》吧 wrox出版的 线程http://www.cnblogs.com/luminji/archive/2010/09/17/1829333.html 进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性线程的划分尺度小于进程,使得多线程程序的并发性搞。 进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率http://msdn.microsoft.com/zh-cn/library/ms173179(VS.80).aspx正则表达式http://msdn.microsoft.com/zh-cn/library/hs600312(VS.80).aspx斐波那契static int Fibonacci(int index){ return index <= 2 ? 1 : Fibonacci(index - 1) + Fibonacci(index - 2);} /// <summary> /// 获取所有目录文件夹 /// </summary> /// <param name="path">路径</param> /// <param name="node">上级根目录</param> private void AddNode(string path, TreeNode node) { try { DirectoryInfo info = new DirectoryInfo(path); //如果非根路径且是系统文件夹则跳过 if (null != info.Parent && info.Attributes.ToString().IndexOf("System") > -1) { return; } else { DirectoryInfo[] dirList = info.GetDirectories();//获取文件夹下所有的子文件夹,不包含子文件夹下的文件夹 //info.GetFiles();//获取文件夹下所有的文件,不包含子文件夹下的文件 for (int i = 0; i < dirList.Length; i++) { string name = dirList[i].Name; if (name != "System Volume Information")//判断是否为系统隐藏文件夹(还原点) { String[] Str = { "$Recycle.Bin", "RECYCLER", "$Recycle.Bin", "$RECYCLE.BIN", "Windows", "Boot", "Config.Msi", "Documents and Settings", "MSOCache", "Recovery", "Users", "PerfLogs"};//系统文件夹及文件 if (!Str.Contains(name))//排除判断 { //如果不是隐藏文件夹--继续 if (System.IO.File.GetAttributes(dirList[i].FullName).ToString() == "Directory") { TreeNode subNode = new TreeNode(name); //调用委托添加子节点 MyMethodzi met = new MyMethodzi(addnt); this.Invoke(met, node, subNode, i); //调用委托 显示当前查询到... MyMethodMessage met2 = new MyMethodMessage(message); this.Invoke(met2, dirList[i].FullName, dirList.Length, i); //继续递归调用本方法 AddNode(dirList[i].FullName, subNode);//查询下级目录 } } } //释放资源 Dispose1(true); } } //释放资源 //Dispose(true); } catch (Exception ex) { String a = ex.Message; } 这个就是递归差不多 /// <summary> /// 获取所有目录文件夹 /// </summary> /// <param name="path">路径</param> /// <param name="node">上级根目录</param> private void AddNode(string path, TreeNode node) { try { DirectoryInfo info = new DirectoryInfo(path); //如果非根路径且是系统文件夹则跳过 if (null != info.Parent && info.Attributes.ToString().IndexOf("System") > -1) { return; } else { DirectoryInfo[] dirList = info.GetDirectories();//获取文件夹下所有的子文件夹,不包含子文件夹下的文件夹 //info.GetFiles();//获取文件夹下所有的文件,不包含子文件夹下的文件 for (int i = 0; i < dirList.Length; i++) { string name = dirList[i].Name; if (name != "System Volume Information")//判断是否为系统隐藏文件夹(还原点) { String[] Str = { "$Recycle.Bin", "RECYCLER", "$Recycle.Bin", "$RECYCLE.BIN", "Windows", "Boot", "Config.Msi", "Documents and Settings", "MSOCache", "Recovery", "Users", "PerfLogs"};//系统文件夹及文件 if (!Str.Contains(name))//排除判断 { //如果不是隐藏文件夹--继续 if (System.IO.File.GetAttributes(dirList[i].FullName).ToString() == "Directory") { TreeNode subNode = new TreeNode(name); //调用委托添加子节点 MyMethodzi met = new MyMethodzi(addnt); this.Invoke(met, node, subNode, i); //调用委托 显示当前查询到... MyMethodMessage met2 = new MyMethodMessage(message); this.Invoke(met2, dirList[i].FullName, dirList.Length, i); //继续递归调用本方法 AddNode(dirList[i].FullName, subNode);//查询下级目录 } } } //释放资源 Dispose1(true); } } //释放资源 //Dispose(true); } catch (Exception ex) { String a = ex.Message; } private delegate void MyDelegateUI(); private void NewMethod(DataSet ds, Match m) { string u = m.Groups["url"].Value; string t = m.Groups["text"].Value; int last = u.LastIndexOf("/"); string uu = u.Substring(0, last); string pagesource = GetWebContent(u); string k = "do.php?ac="; int s = pagesource.IndexOf(k); if (s > 1) { DataRow dr = ds.Tables["urlList"].NewRow(); dr["Url"] = uu; dr["Text"] = t; ds.Tables["urlList"].Rows.Add(dr); } if (GridView1.InvokeRequired) { MyDelegateUI d = delegate { this.GridView1.DataSource = ds.Tables[0].DefaultView; this.GridView1.DataBind(); }; GridView1.Invoke(d); } else { this.GridView1.DataSource = ds.Tables[0].DefaultView; this.GridView1.DataBind(); } }这个就线程 进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性线程的划分尺度小于进程,使得多线程程序的并发性搞。 进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率http://msdn.microsoft.com/zh-cn/library/ms173179(VS.80).aspx正则表达式http://msdn.microsoft.com/zh-cn/library/hs600312(VS.80).aspx斐波那契static int Fibonacci(int index){ return index <= 2 ? 1 : Fibonacci(index - 1) + Fibonacci(index - 2);} error26 定位指定服务器/实例出错 各位哥们帮看下下面这段select代码怎么查 请教一个"监控子进程消息"的问题 新生,帮翻译一句代码 请教通讯协议问题!!! visual studio 2005中自动生成 DataGridView 的 RemoveAt 和 DataTable 的RemoveAt 的区别? 有关修改网页来源的问题 管理员,我昨天的贴子为什么被删除了? 高手留步:静态变量的并发使用问题 C#学习 问一个简单的问题,关于List与byte[]
线程的目的是,使得程序的多个工作能够并行而且异步地工作,提高效率。
在多个CPU的系统上,线程可以同时运行。
get/set
一种特殊的方法,用来获取或者设置表达式的值,又叫访问器。推荐学习资料:图书馆、Google、MSDN Library。
线程的划分尺度小于进程,使得多线程程序的并发性搞。
进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率
http://msdn.microsoft.com/zh-cn/library/ms173179(VS.80).aspx
正则表达式
http://msdn.microsoft.com/zh-cn/library/hs600312(VS.80).aspx
斐波那契
static int Fibonacci(int index)
{
return index <= 2 ? 1 : Fibonacci(index - 1) + Fibonacci(index - 2);
}
/// <summary>
/// 获取所有目录文件夹
/// </summary>
/// <param name="path">路径</param>
/// <param name="node">上级根目录</param>
private void AddNode(string path, TreeNode node)
{
try
{
DirectoryInfo info = new DirectoryInfo(path);
//如果非根路径且是系统文件夹则跳过
if (null != info.Parent && info.Attributes.ToString().IndexOf("System") > -1)
{
return;
}
else
{ DirectoryInfo[] dirList = info.GetDirectories();//获取文件夹下所有的子文件夹,不包含子文件夹下的文件夹
//info.GetFiles();//获取文件夹下所有的文件,不包含子文件夹下的文件
for (int i = 0; i < dirList.Length; i++)
{
string name = dirList[i].Name; if (name != "System Volume Information")//判断是否为系统隐藏文件夹(还原点)
{
String[] Str = { "$Recycle.Bin", "RECYCLER", "$Recycle.Bin", "$RECYCLE.BIN", "Windows", "Boot", "Config.Msi", "Documents and Settings", "MSOCache", "Recovery", "Users", "PerfLogs"};//系统文件夹及文件 if (!Str.Contains(name))//排除判断
{ //如果不是隐藏文件夹--继续
if (System.IO.File.GetAttributes(dirList[i].FullName).ToString() == "Directory")
{
TreeNode subNode = new TreeNode(name);
//调用委托添加子节点
MyMethodzi met = new MyMethodzi(addnt);
this.Invoke(met, node, subNode, i); //调用委托 显示当前查询到...
MyMethodMessage met2 = new MyMethodMessage(message);
this.Invoke(met2, dirList[i].FullName, dirList.Length, i);
//继续递归调用本方法
AddNode(dirList[i].FullName, subNode);//查询下级目录
}
} }
//释放资源
Dispose1(true);
}
}
//释放资源
//Dispose(true);
}
catch (Exception ex)
{ String a = ex.Message;
} 这个就是递归差不多
/// <summary>
/// 获取所有目录文件夹
/// </summary>
/// <param name="path">路径</param>
/// <param name="node">上级根目录</param>
private void AddNode(string path, TreeNode node)
{
try
{
DirectoryInfo info = new DirectoryInfo(path);
//如果非根路径且是系统文件夹则跳过
if (null != info.Parent && info.Attributes.ToString().IndexOf("System") > -1)
{
return;
}
else
{ DirectoryInfo[] dirList = info.GetDirectories();//获取文件夹下所有的子文件夹,不包含子文件夹下的文件夹
//info.GetFiles();//获取文件夹下所有的文件,不包含子文件夹下的文件
for (int i = 0; i < dirList.Length; i++)
{
string name = dirList[i].Name; if (name != "System Volume Information")//判断是否为系统隐藏文件夹(还原点)
{
String[] Str = { "$Recycle.Bin", "RECYCLER", "$Recycle.Bin", "$RECYCLE.BIN", "Windows", "Boot", "Config.Msi", "Documents and Settings", "MSOCache", "Recovery", "Users", "PerfLogs"};//系统文件夹及文件 if (!Str.Contains(name))//排除判断
{ //如果不是隐藏文件夹--继续
if (System.IO.File.GetAttributes(dirList[i].FullName).ToString() == "Directory")
{
TreeNode subNode = new TreeNode(name);
//调用委托添加子节点
MyMethodzi met = new MyMethodzi(addnt);
this.Invoke(met, node, subNode, i); //调用委托 显示当前查询到...
MyMethodMessage met2 = new MyMethodMessage(message);
this.Invoke(met2, dirList[i].FullName, dirList.Length, i);
//继续递归调用本方法
AddNode(dirList[i].FullName, subNode);//查询下级目录
}
} }
//释放资源
Dispose1(true);
}
}
//释放资源
//Dispose(true);
}
catch (Exception ex)
{ String a = ex.Message;
}
private delegate void MyDelegateUI();
private void NewMethod(DataSet ds, Match m)
{
string u = m.Groups["url"].Value;
string t = m.Groups["text"].Value;
int last = u.LastIndexOf("/");
string uu = u.Substring(0, last);
string pagesource = GetWebContent(u);
string k = "do.php?ac=";
int s = pagesource.IndexOf(k);
if (s > 1)
{ DataRow dr = ds.Tables["urlList"].NewRow();
dr["Url"] = uu;
dr["Text"] = t;
ds.Tables["urlList"].Rows.Add(dr); } if (GridView1.InvokeRequired)
{
MyDelegateUI d = delegate
{
this.GridView1.DataSource = ds.Tables[0].DefaultView;
this.GridView1.DataBind();
};
GridView1.Invoke(d);
}
else
{
this.GridView1.DataSource = ds.Tables[0].DefaultView;
this.GridView1.DataBind();
}
}这个就线程
线程的划分尺度小于进程,使得多线程程序的并发性搞。
进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率
http://msdn.microsoft.com/zh-cn/library/ms173179(VS.80).aspx
正则表达式
http://msdn.microsoft.com/zh-cn/library/hs600312(VS.80).aspx
斐波那契
static int Fibonacci(int index)
{
return index <= 2 ? 1 : Fibonacci(index - 1) + Fibonacci(index - 2);
}