
C#
SSS_369
毅力,每日至少一篇。
展开
-
C#:延时函数sleep
(1)sleepusing System.Threading; //导入命名空间,类Thread就在此空间中Thread.Sleep(2000); //延时2s 参考函数1. https://blog.youkuaiyun.com/friendan/article/details/7350187原创 2018-12-13 01:27:43 · 12616 阅读 · 0 评论 -
C#:txt文件的读写
命名空间using System.IO;using System.Text;读txt①使用FileStream类进行文件的读取,并将它转换成char数组,然后输出。byte[] byData = new byte[100];char[] charData = new char[1000];public void Read(){ try { File...原创 2018-12-17 23:28:22 · 161 阅读 · 0 评论 -
C#:字符串string & byte[] 相互转换
string转byte[]:byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str );byte[]转string:string str = System.Text.Encoding.Default.GetString ( byteArray );string转ASCII byte[]:byte[] ...原创 2019-01-06 18:05:07 · 692 阅读 · 0 评论 -
C#:for && foreach循环
1. for循环C# for循环用法和C++ for循环一样;for ( init; condition; increment ){ statement(s);} 2. foreach循环C# 也支持 foreach 循环,使用foreach可以迭代数组或者一...原创 2019-01-17 23:49:49 · 730 阅读 · 0 评论 -
C#:error 提示试图加载格式不正确的程序
问题:error 提示试图加载格式不正确的程序解决方法:这是工程环境配错了,将项目==》属性==》平台选择release x64 就可以了;注意保持环境一致性。参考文献1. https://www.cnblogs.com/heweijian/p/6734120.html ...原创 2019-01-07 23:27:42 · 3114 阅读 · 1 评论 -
C#:AutoResetEvent的应用
public AutoResetEvent eventStop { get; set; }AutoResetEvent多用于.Net多线程编程中。当某个线程调用WaitOne方法后,信号处于发送状态,该线程会得到信号, 程序就会继续向下执行,否则就等待;而且 AutoResetEvent.WaitOne()每次只允许一个线程进入,当某个线程得到信号后,AutoResetEvent...原创 2019-01-20 14:46:57 · 856 阅读 · 0 评论 -
C#:List<string> && List<int>互相转换
1. List<string> 转 List<int>var list = (new[]{"1","2","3"}).ToList();var newlist = list.Select<string,int>(x =>Convert.ToInt32(x));2. List<int> 转 List<原创 2019-01-14 23:14:46 · 1183 阅读 · 0 评论 -
C#:不安全代码只会在使用 /unsafe 编译的情况下出现
在你的项目属性页面里面,把是否包含unsafe代码的选项选上 参考文章:1. https://blog.youkuaiyun.com/szstephenzhou/article/details/39665673原创 2019-01-14 23:22:36 · 5980 阅读 · 0 评论 -
C#:多线程和线程池
一、基本概念1. 基础 Windows系统是一个多线程的操作系统。 一个程序至少有一个进程,一个进程至少有一个线程。 进程是线程的容器,一个C#客户端程序开始于一个单独的线程,CLR(公共语言运行库)为该进程创建了一个线程,该线程称为主线程。例如当我们创建一个C#控制台程序,程序的入口是Main()函数,Main()函数是始于一个主线程的。它的功能主要...原创 2019-01-20 20:55:52 · 6308 阅读 · 1 评论 -
C#:多线程--信号量(Semaphore)
百度百科:Semaphore,是负责协调各个线程, 以保证它们能够正确、合理的使用公共资源。也是操作系统中用于控制进程同步互斥的量。1. Semaphore常用的方法有两个WaitOne()和Release(),Release()的作用是退出信号量并返回前一个计数,而WaitOne()则是阻止当前线程,直到当前线程的WaitHandle 收到信号。这里我举一个例子让大家更容易理解:...原创 2019-01-20 21:56:23 · 6672 阅读 · 3 评论 -
C#:采用Picturebox控件来显示图片
步骤s1. 新建窗体应用程序,拖拽两个button控件和Picturebox控件,如图所示: 【注】:Picturebox控件SizeMode属性(1)Normal:如果图片大于Picturebox控件大小,图片不能完全显示(2)AutoSize:自动调整Picturebox控件大小去适应图片的大小,图片可以完全显示。(3)StretchImage:Picturebox...原创 2019-02-18 23:45:28 · 3960 阅读 · 0 评论 -
C#:二维数组
C#二维数组形式int [,] array = new int[5,3];//有五个一维数组,每一个一维数组有3个元素/*打印一个“王”这个字 7*7 */string[,] wang = new string[,]{ {" ","■","■","■","■","■"," "}, {" "," ","原创 2018-12-17 23:13:28 · 1707 阅读 · 0 评论 -
C#:Console.Write() vs Console.WriteLine()
命名空间: using System.Console功能: 将输出流由指定的输出装置(默认为屏幕)显示出来。差异:Console.WriteLine()是将要输出的字符串与换行控制字符一起输出,当次语句执行完毕时,光标会移到目前输出字符串的下一行.Console.Write()光标会停在输出字符串的最后一个字符后,不会移动到下一行。如:Console.WriteLine("a")...原创 2018-12-17 23:04:36 · 1460 阅读 · 0 评论 -
C#:四舍五入程序
问题C#中的Math.Round()不是"四舍五入"法;其实在VB、VBScript、C#、J#、T-SQL中Round函数采用的都是 Banker's rounding(银行家算法),即:四舍六入五取偶。这是IEEE的规范;.NET 2.0 开始,Math.Round 方法提供了一个枚举选项 MidpointRounding.AwayFromZero 可以用来实现传统意义上的"四...原创 2018-12-13 01:28:05 · 894 阅读 · 0 评论 -
C#:函数传参 传值 vs 传引用 ref vs out
概念 值传递 当方法传递的参数是值类型时,变量的栈数据会完整地复制到目标参数中,即实参和形参中的数据相同但存放在内存中的位置不同。所以,在目标方法中对形参所做的更改不会对调用者的初始变量产生任何影响。 引用传递 当方法传递的参数是引用类型时,只是将变量的引用复制到目标参数中,实参和形参的引用指向内存中的同一位置。所以,在目标方法中对形参所做的更改会影响调用者的初始变量。C#中的特殊参...原创 2018-12-13 01:53:01 · 954 阅读 · 1 评论 -
C#:vs封装成dll and 调用生成的dll
生成dllC#封装dll的方法很简单:1. Visual C#-->类库,在编程界面写上需要封装的程序,设置好命名空间和类名 或者,项目属性->应用程序->输出类型->改成类库,定义好命名空间和类名,在项目中重新生成,就可以在相应的工作目类找到.dll文件。调用dll调用dll也很简单,在引用--添加引用--浏览,选择需要添加的dll;在程...原创 2018-12-15 14:08:41 · 1052 阅读 · 0 评论 -
C#:获取文件夹下的所有bmp图像
demostatic void Main(){ string path = @"C:\Users\Administrator\Desktop\A"; string[] files = Directory.GetFiles(path, "*.bmp"); int cnt = 0; foreach(string file in files) { cnt+...原创 2018-12-16 12:24:48 · 4399 阅读 · 0 评论 -
C#:多线程 parallel 类研究
parallel概念①Parallel类提供数据和任务的并行性;②Paraller.For()方法 类似于C#的for循环语句,也是多次执行一个任务。使用Paraller.For()可以并行运行迭代,但迭代的顺序是打乱的。Paraller.For(int,int,Action<int>);参数1为循环的开头,参数2为循环的结束;参数三是个委托,整数参数是循环的迭代次...原创 2018-12-16 12:55:28 · 867 阅读 · 0 评论 -
C#:char[ ] 转 string 方法
方法:static void Main(string[] args){ char[] cs = { 'H', 'E', 'L', 'L', 'O', '!' }; string str = new string(cs); Console.WriteLine(str); Console.ReadKey();}运行结果为:HELLO! 参考...原创 2018-12-21 20:15:25 · 2811 阅读 · 0 评论