随笔分类 - c#技术
摘要:简介 我们在做项目的时候, 往往要处理一些后台的任务. 一般是两种, 一种是不停的运行,比如消息队列的消费者。另一种是定时任务。 在.NET Framework + Windows环境里, 我们一般会使用 Windows 服务处理这些情形. 但在.Net Core + Linux环境里, 有没有类似
阅读全文
摘要:以下是代码的实现过程: Html页面表单布局: 服务器端是实现:
阅读全文
摘要:一.前言 IdentityServer4实战这个系列主要介绍一些在IdentityServer4(后文称:ids4),在实际使用过程中容易出现的问题,以及使用技巧,不定期更新,谢谢大家关注。使用过ids4的朋友应该知道,可以通过设置AccessTokenLifetime属性,来控制AccessTok
阅读全文
摘要:c#里的自定义运算符算是个不常出现的应用,同时也是个好玩的东西。
我们可以使用他来实现这样的需求:
当一个订单与另外一个订单相加形成一个新的订单。新订单的货物为两个订单的货物的并集,总价为两个订单的总价和。
阅读全文
摘要:C#3.0 为我们带来什么(1) —— LINQ之Lambda C#3.0 为我们带来什么(2) —— 自动属性 C#3.0 为我们带来什么(3) —— 初始化器 C#3.0 为我们带来什么(4) —— 具有隐式类型的局部变量var C#3.0 为我们带来什么(5) —— 匿名类型 C#3.0 为我们带来什么(6) —— 扩展方法
阅读全文
摘要:在c#3.0中可以出现这样的语法
int i = 2;
Console.WriteLine(i.Square());
这就是扩展方法。
如何使int具有Square方法呢?
只需要定义这样一个函数
public static int Square(this int i)
{
return i * i;
}
阅读全文
摘要:var employee= new{Age =25,Name = "james" }
无须显示声明一个类,而且在初始化器里面可以获取上下文的变量——闭包
这就是C#3.0里提供的匿名类型。
阅读全文
摘要:在c#3.0里允许我们这样定义变量
var age = 10;
var name = "james";
var time = DateTime.Now;
var books = new string[]{"aa","bb"};
阅读全文
摘要:对比代码
c#2.0
Employee e1;
private void ee1()
{
e1 = new Employee(1);
e1.Age = 25;
e1.Name = "james";
}
c#3.0
Employee 2;
private void ee2()
{
e2 = new Employee(2) { Age = 25, Name = "james" };
}
与自动属性一样,初始化器的c#3.0的最大特点就是语法简化。
阅读全文
摘要: public int ID { get; protected set; }
public string Name { get; set; }
这是接口内声明的属性么?
no,这也可以是类的属性,自动属性。
如果说c#3.0最大的改变是什么,那就是编码方式更人性化,程序员可以变的更懒。自动属性也是这一特征的具体表现。
阅读全文
摘要: Lambda给我们带来什么?看下面的代码。
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
var lowNums = from num in numbers
where num select num;
阅读全文
摘要:在上一篇中有朋友问实现根据多个列排序的问题,现在把修改过的代码放在这里。经过测试已经实现了目标效果。
阅读全文
摘要:在工作中经常会遇到对象数组根据某个属性进行排序的问题。这里介绍一个比较灵活的方法。
阅读全文
摘要:在序列化反序列化的过程中,由于是通过反射来完成的,所以很多错误编译器并不能明确的报告。 这就对程序排错造成很多困难。 这里总结几点注意事项。有兴趣的可以帮助补充改正。 1 、不要用接口定义属性类型 2 、属性字段类型必须都可序列化 3、类似Button之类的类型不能被序列化,或者说不能直接被序列化.. 4、如果要实现默认序列化,需要为类实现一个无参构造函数。
阅读全文
摘要:一.多线程的概念 Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的,线程
阅读全文

浙公网安备 33010602011771号