随笔分类 -  c#技术

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