enum 关键字用于声明枚举,即一种由一组称为枚举数列表的命名常数组成的独特类型。每种枚举类型都有基础类型,该类型可以是除char 以外的任何整型。即: (byte, sbyte, short, ushort, int, uint, long和ulong) Emumeration 这个概念早在C时代就有了,不过以前没怎么用过。 基本表达, 改变默认值和默认类型 Enumeration的默认值是从0开始的int,如下: enum Direction{ UP, RIGHT DOWN, LEFT,};此时UP=0, DOWN=1...依此类...
C#中timer类的用法 C#中timer类的用法 关于C#中timer类 在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类里 3.定义在System.Timers.Timer类里 System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中的Timer控件,内部使用API SetTimer实现的。它的主要缺点是计时不精确,而且必须有消息循环,Console Application(控制台应...
我想与Java服务器应用程序通信C#客户端应用程序. Java使用带有protobuf管道enconder的Ne??tty框架. 我的原型文件: 导入“google / protobuf / csharp_options.proto”;option (google.protobuf.csharp_file_options).namespace = "ChatClient.LoginProtocol"; option (google.protobuf.csharp_file_options).umbrella_classname = "LoginProtocol";option optimize_for = SPEED;message Credential {required string email = 1...
在C# 3.0及以后的版本中有了Lamda表达式,像上面这种匿名委托有了更简洁的写法。.NET Framework 3.5及以后版本更能用Action封装方法。例如以下写法可以看上去非常简洁: void ButtonOnClick(object sender,EventArgs e) { this.Invoke(new Action(()=> { button.Text="关闭"; })); }
invoke和begininvoke 区别 一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解。 首先说下,invoke和begininvoke的使用有两种情况: 1. control中的invoke、begininvoke。 2. delegrate中的invoke、begininvoke。 这两种情况是不同的,我们这里要讲的是第1种。下面我们在来说下.NET中对invoke和begininvoke的官方定义。 control.invoke(参数delegate)方法:在...
C#?? static的用法详解 有的东西你天天在用,但未必就代表你真正了解它,正如我之前所了解的 static 。 一、静态类静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量。在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止程序员写代码来实例化该静态类;其次,它防止在类的内部声明任何实例字段或方法。1、静态类的主要特性:[1] 仅包含静态成员。[2] 无法实...
我有一个方法,其最后一个参数是params string [].我希望搜索一个程序集,并计算params参数传递的用法数,至少有一个值. 这个方法有几百个调用,其中大部分都没有传递给最后一个params参数,所以使用像ReSharper的Find Usages这样的东西来计算那些没有传递给params参数的用法是不切实际的. 我如何使用反射/反汇编来做到这一点?或者,有没有可以做到这一点的工具?解决方法:一个简单的方法: >添加一个不带任何参数的重载.>重建 – 新的重...
我看到很少有人使用如下语法调用函数:Parallel.Invoke(() => Method1(yourString1),() => Method2(youString2));很少有人写代码如下:Task myFirstTask = Task.Factory.StartNew(() => Method1(5)); Task mySecondTask = Task.Factory.StartNew(() => Method2("Hello"));所以我的问题是当一个人应该使用Parallel.Invoke()并且当一个人应该创建Task类的实例并调用StartNew()方法时. Parallel.Invoke()看起来很方便.那么使用Task cl...
我试图在我的网络API中使用[FromQuery],我不知道如何使用它. 这是控制器中的GetAllBooks()方法:[HttpGet][Route("api/v1/ShelfID/{shelfID}/BookCollection")]public async Task<IActionResult> GetAllBooks(string shelfID, [FromQuery] Book bookinfo){//do something}这是Book模型类:public class Book{public string ID{ get; set; }public string Name{ get; set; }public string Author { get; set; }public string Publis...
我们正在ASP.NET MVC项目中尝试一些登录操作.我们的目标是:“如果用户的IP不是来自我们的内部网,则将他/她重定向到登录页面.否则,只需转到我们的索引页面.我们编写了一些代码,但我们在一个循环中. Global.asax中protected void Application_BeginRequest(object sender, EventArgs e){var request = ((System.Web.HttpApplication) sender).Request;string ip1 = request.UserHostAddress;string shortLocalIP;if (ip1 != null &&...
params 是C#的关键字, 可变长参数,是在声明方法时参数类型或者个数不确定时使用 关于params 参数数组,需掌握以下几点: 一.参数数组必须是一维数组 二.不允许将params修饰符与ref和out修饰符组合起来使用 三.与参数数组对应的实参可以是同一类型的数组名,也可以是任意多个与该数组的元素属于同一类型的变量 四.若实参是数组则按引用传递,若实参是变量或表达式则按值传递 五.形式为:方法修饰符 返回类型 方法...
static void Main(string[] args){//break的用法:主要用于跳出循环体//定义i和j二个变量,用于存储循环次数int i = 1;int j = 1;while (i <= 10){ while (j <= 10){Console.WriteLine("我是里面的while循环");j++;break; //跳出内循环,继续执行外循环}Console.WriteLine("我是外面的while循环");i++;}Console.ReadKey();}
public static class EnumExtensions{public static string GetDescription(this Enum value){return value.GetType().GetMember(value.ToString()).FirstOrDefault()?.GetCustomAttribute<DescriptionAttribute>()?.Description;}}public enum RoleiDAt{[Description("商家")]Business = 7,}class Program{static void Main(string[] args){Console.WriteLine(RoleiDAt.Business.ToString()); // 输出 键Console.W...
https://blog.csdn.net/jianhui_wang/article/details/80485517 Interlocked.CompareExchange有一组函数 名称说明CompareExchange(Double,?Double,?Double) 比较两个双精度浮点数是否相等,如果相等,则替换第一个值。CompareExchange(Int32,?Int32,?Int32) 比较两个 32 位有符号整数是否相等,如果相等,则替换第一个值。CompareExchange(Int64,?Int64,?Int64) 比较两个 64 位有符号整数是否相等,如果相等,则替换第一个值。C...
一、file和fileinfo都提供对文件的操作 ①file类提供静态的方法,file类不能被继承,也不能产生实例,如果只需要使用一次或者次数很少,那么使用file类会比使用fileinfo效率高,但是file类每次都会花时间对方法进行安全检查,而fileinfo只是在实例产生时进行一次检查,以后就不会检查,这样的话,如果需要反复对文件操作,使用fileinfo就会比使用file效率高。 同理directory和directoryinfo也是同样的 ②fil...