-
C# GroupBy将字符串数组按元素长度分组
C#演示 GroupBy字符串操作范例,C# GroupBy将字符串数组按元素长度分组:
string[] Words = new string[] { "what", "is", "your", "name", "?", "my", "name", "is", "lyf", "." };
var Groups = from word in Words
group word by word.Length into lengthGroups//按单词长度将单词分组
orderby lengthGroups.Key descending//按单词长度降序排列
select new
{
Length = lengthGroups.Key,//取单词长度
WordCollect = lengthGroups//取该长度的单词分组集合
};最后使用foreach循环遍历每组单词,将罗列出包括指定字符的单词是哪几个。
- 2023-08-16 01:45:03下载
- 积分:1
-
C# 启动和关闭无窗体定时器
C# 启动和关闭无窗体定时器,单击窗体上对应的按钮,即可完成无窗体定时器的启动和关闭功能,核心代码为:
private void button1_Click(object sender, EventArgs e)
{//启动无窗体定时器
var MyClass = new MyThreadClass();
MyTimer = new System.Threading.Timer(MyClass.MyCallBackMethod, MyClass, 5000, 2000);
}
private void button2_Click(object sender, EventArgs e)
{//关闭无窗体定时器
MyTimer.Dispose();
}
- 2022-04-09 03:53:39下载
- 积分:1
-
C# 使用Graphics对象在程序运行时创建位图
C# 在程序运行时创建位图,本源码实例主要是学习使用使用Graphics对象创建简单图像的例子,本程序将生成一条曲线图像,参照如下代码:
{//在程序运行时创建位图
int MyWidth=this.pictureBox1.Width;
int MyHeight=this.pictureBox1.Height;
Bitmap MyBitmap = new Bitmap(MyWidth,MyHeight);
Graphics MyGraphics = Graphics.FromImage(MyBitmap);
Pen MyPen = new Pen(Color.Black, 3);
Point[] MyPoints = { new Point(50, 100), new Point(100, 10), new Point(150, 290), new Point(200, 100), new Point(250, 10), new Point(300, 290), new Point(350, 100) };
MyGraphics.Clear(Color.White);
MyGraphics.DrawBeziers(MyPen, MyPoints);
pictureBox1.Image = MyBitmap;
- 2022-03-25 22:38:21下载
- 积分:1
-
Visual C# WPF 实现文字左右流动(滚动)效果
Visual C# WPF技术实现文字内容从左向右流动、从右向左流动,其实就是文字滚动,稍加了一些特殊处理,下面来看看代码真的好简单:
private void button1_Click(object sender, RoutedEventArgs e)
{//内容从左向右流动
this.MyFlowDocument.FlowDirection = FlowDirection.LeftToRight;
}
private void button2_Click(object sender, RoutedEventArgs e)
{//内容从右向左流动
this.MyFlowDocument.FlowDirection = FlowDirection.RightToLeft;
}
- 2022-02-04 14:45:10下载
- 积分:1
-
Visual C# 读取音频文件并复制到剪贴板
粘贴剪贴板音频数据并播放,Visual C# 读取音频文件并复制到剪贴板,此外还提供了清空剪贴板上音频数据的功能。下面我们分别来看这几个重点功能具体是如何实现的,代码如下:
private void Button1_Click(object sender, EventArgs e)
{//读取音频文件并复制到剪贴板
Byte[] MyData=System.IO.File.ReadAllBytes("WindowsXP.wav");
Clipboard.SetAudio(MyData);
}
private void Button2_Click(object sender, EventArgs e)
{//粘贴剪贴板音频数据并播放
object MyData =Clipboard.GetData(DataFormats.WaveAudio);
System.Media.SoundPlayer MyPlayer=new System.Media.SoundPlayer();
MyPlayer.Stream = (System.IO.Stream)MyData;
MyPlayer.Play();
}
private void Button3_Click(object sender, EventArgs e)
{//清空剪贴板上的音频数据
Clipboard.Clear();
}
需要完整的可编译源代码项目,请下载本源码。
- 2022-01-25 17:41:37下载
- 积分:1
-
C#读取数据库内容并在dataGridView中显示
C#从数据库中读取内容并显示在dataGridView中,这似乎是一个很实用的功能,在数据库应用的时候,我们都要通过dataGridView来显示数据,这个例子可帮助初学者很好的掌握此功能的具体实现,一些代码片段分享如下:
private void button1_Click(object sender, EventArgs e)
{
//实例化SqlConnection变量conn,连接数据库
conn = new SqlConnection("server=.;database=db_15;uid=sa;pwd=");
//实例化SqlDataAdapter对象
SqlDataAdapter sda = new SqlDataAdapter("select * from tb_emp", conn);
DataSet ds = new DataSet(); //实例化DataSet对象
sda.Fill(ds);//使用SqlDataAdapter对象的Fill方法填充DataSet
dataGridView1.DataSource = ds.Tables[0];//设置dataGridView1控件的数据源
dataGridView1.RowHeadersVisible = false;//禁止显示行标题
//使用for循环设置控件的列宽
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
dataGridView1.Columns[i].Width = 84;
}
button1.Enabled = false;//禁用按钮
dataGridView1.Columns[0].ReadOnly = true;//将控件设置为只读
}
private DataTable dbconn(string strSql)//建立一个DataTable类型的方法
{
this.adapter = new SqlDataAdapter(strSql, conn);//实例化SqlDataAdapter对
- 2022-07-24 21:44:03下载
- 积分:1
-
C# 演示希尔排序算法的实现
C# 演示希尔排序算法的实现,在代码中定义了一个函数,完成希尔排序算法的使用,用户只需传入要排序的一维数组,程序即可输出希尔排序结果。以下是完成排序的关键代码:
//定义要排序的一维数组
int[] array = new int[] { 1, 5, 3, 6, 10, 55, 9, 2, 87, 12, 34, 75, 33, 47 };
Program.Sort(array);//调用自定义方法对数组进行排序
Console.WriteLine("排序后的数组:");
foreach (int m in array)
Console.Write("{0} ", m);//输出排序后的数组元素
Console.ReadLine();
以上代码可写入函数中,为了演示方便,将结果输出到控制台显示。
- 2023-07-14 05:10:04下载
- 积分:1
-
C# SqlSever WinForm企业人事管理系统完整源代码
C# SqlSever WinForm企业人事管理系统完整源代码,使用到的第三方控件:IrisSkin2.dll、Interop.SQLDMO.dll、SQL_Link.DLL等。注意:数据库文件直接附加,登陆用户名[区分大小写]:Administrator密码:888
登陆前点击,设置数据库参数
当然这个系统并没有完全完成,预期的工资和考勤功能没有完成,人事管理基本完成,其中的小功能如:打印和报表,还有分析图,不是很难做,你可以自己添加。
实现的功能模块有:人事管理、公司资料、部门设置、人事资料、培训管理、奖惩管理、调薪管理、考评管理、合同管理、信息统计、自定义人事项目、人事资料、培训管理、奖惩管理、调薪管理、考评管理、合同管理、工资管理、考勤管理、系统维护、更改密码、用户管理、数据备份、备份到本地、备份到服务器、数据恢复、从本地恢复、从服务器恢复、数据初始化。
- 2023-01-18 10:30:05下载
- 积分:1
-
一个C# 多线程的网页异步抓取类文件代码
一个C#编写的多线程异步抓取网页的网络爬虫控制台程序类代码,这个类实现对网页URL指定内容网页的抓取,并抓取 内容中的链接、文字内容、从HTML代码中分析出链接信息等,本类中还定义了大量的私有方法,从这些私有方法中可从HTML文本中提取出一定字数的纯文本、提取网页中一定字数的纯文本,包括链接文字、提取一定数量的链接,该链接的URL满足某正则式、提取本网页的纯文本中满足某正则式的文字等。
本代码作者:大黑。
本爬虫程序的速度如下:
10线程最快大概400个链接每分钟
6-8线程最快大概200-300个链接每分钟
2-4线程最快大概150-200个链接每分钟
单线程最快大概70-100个链接每分钟
之所以用多线程异步抓取完全是出于效率考虑,本程序多线程同步并不能带来速度的提升,只要抓取的网页不要太多重复和冗余就可以,异步并不意味着错误。
- 2023-05-03 15:55:03下载
- 积分:1
-
C# 在Vista、Win7中显示XP风格的文件对话框
C#自定义打开文件对话框,并在文件打开对话框中添加自定义区域,可以在非Windows XP系统中调用XP风格的对话框,比如本例子演示了在Vista或Windows7 中显示XP风格的文件对话框:
private void button1_Click(object sender, EventArgs e)
{//在文件打开对话框中添加自定义区域
this.openFileDialog1.AutoUpgradeEnabled = true;
this.openFileDialog1.CustomPlaces.Add(@"F:");
this.openFileDialog1.ShowDialog();
}
private void button2_Click(object sender, EventArgs e)
{//在Vista中显示XP风格的文件对话框
this.openFileDialog1.AutoUpgradeEnabled = false;
this.openFileDialog1.ShowDialog();
}
- 2022-03-15 22:57:57下载
- 积分:1