C#
HotCocoa_Deng
这个作者很懒,什么都没留下…
展开
-
C# lock关键字
lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断。这是通过在代码块运行期间为给定对象获取互斥锁来实现的。 private static object ojb = new object(); lock(obj) { //锁定运行的代码段 }假设线程A先执行,线程B稍微慢一点。线程A执行到lock语句,判断obj是否已申请了互斥锁,判断依据是逐个与已存在的锁进行object.Refe转载 2021-08-12 15:07:40 · 505 阅读 · 0 评论 -
C# 元组
一、什么是元组元组就是一些对象的集合,在我们编程时,比如一个人的信息,我们常常创建一个Person类去描述一个人,传统的做法如下:public class Person{ public int ID{get;set;} public string Name{get;set;}}Person a=new Person(){ID=1001,Name='CodeL'};Console.WriteLine(a.Name);那么我们使用元组可以怎么做呢?如下所示Tuple<in原创 2021-08-12 15:03:51 · 1383 阅读 · 0 评论 -
C# string的一些方法
C# 中String.Join()方法就是将传入的字符串数组(必须是字符串string) value,用特定的分隔符 separator 进行分割List<string> list = new List<string>(); list.add("aa"); list.add("bb"); list.add("cc"); Console.WriteLine(string.Join("-", li原创 2021-08-12 15:01:42 · 328 阅读 · 0 评论 -
C# 多线程BackgroundWorker
在C#程序中,经常会有一些耗时较长的CPU密集型运算,如果直接在 UI 线程执行这样的运算就会出现UI不响应的问题。解决这类问题的主要途径是使用多线程,启动一个后台线程,把运算操作放在这个后台线程中完成。但是原生接口的线程操作有一些难度,如果要更进一步的去完成线程间的通信就会难上加难。用法概述在窗体上构建一个BackgroundWorker 实例,在它的 DoWork事件处理函数中添加耗时的运算,然后调用它的RunWorkerAsync方法就可以了。private BackgroundWorker _原创 2021-08-12 14:58:49 · 299 阅读 · 0 评论 -
C# 委托
委托和事件在 .NET Framework 中的应用非常广泛,然而,较好地理解委托和事件对很多接触 C# 时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里堵得慌,浑身不自在。本章中,我将由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.NET Framework 中的委托和事件、委托中方法异常和超时的处理、委托与异步编程、委托和事件对Observer 设计模式的意义,对它们的编译代码也做了讨论。1.1 理解委托1.1.1原创 2021-08-11 09:57:53 · 84 阅读 · 0 评论 -
C# this用法
索引器使你可从语法上方便地创建类、结构或接口,以便客户端应用程序能像访问数组一样访问它们。 在主要目标是封装内部集合或数组的类型中,常常要实现索引器。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;class Mingce{ public string[] names = new string[3] { "牧之原原创 2021-08-11 09:56:02 · 87 阅读 · 0 评论 -
C# Dictionary类用法
可以实现通过键值查找、插入、删除一个键-值对的操作,这些如果用数组实现都非常麻烦。Key就是键,value就是值我们在很多地方都会用到字典,他的特点就是查找很快,当然比List快。字典必须包含名空间System.Collection.GenericDictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值)键必须是唯一的,而值不需要唯一的键和值都可以是任何类型(比如:string, int, 自定义类型,等等)using System;using System.Collecti转载 2021-08-11 09:54:48 · 155 阅读 · 0 评论 -
C# List的用法和一些方法
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication1{ class Person { private string _name; //姓名 private int _age; //年龄原创 2021-08-11 09:51:50 · 208 阅读 · 0 评论 -
C# 事件和委托
声明事件前,需要先声明一个委托,因为这个事件的类型是委托的名称。然后定义一个和委托方法签名一致的方法,再把这个方法注册到事件中。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace SimpleEvent{ using System; public class EventTest原创 2021-08-11 09:33:51 · 72 阅读 · 0 评论