c#学习
c#学习
碧山云游
Life sometimes is boring,so i sometimes do some boring thing to avoid it
展开
-
C#类型转换 CopyToProperties
【代码】C#类型转换。原创 2022-09-27 17:20:06 · 182 阅读 · 0 评论 -
C#中Timer定时器,保证上一个任务执行完成了,才能执行下一个任务。
【代码】C#中Timer定时器,保证上一个任务执行完成了,才能执行下一个任务。原创 2022-08-19 17:15:11 · 2322 阅读 · 0 评论 -
DataTable select过滤
PB的DataWindow进行数据过滤时是将数据放入的DataWindow的Filter!Vs.Net的DataTable过滤是将符合条件的语句选出来,放在DataRow[]的数组中;stringfilter="字段名='"+条件+"'";//创建一个过滤条件的字符串。//取出符合条件的记录。这样记录就过滤出来了。......原创 2022-07-27 10:55:10 · 578 阅读 · 0 评论 -
C# json to model 样例
C# json to model 样例原创 2022-07-06 13:59:59 · 273 阅读 · 0 评论 -
null条件运算符 ?. 和 ?[]
null运算NullReferenceException是最常见的异常。演示:形成过程class Student{ public double[] Scores { get; set; }new Student().Scores[0] = 98.5;为了避免抛出这种异常,以前我们不得不在代码中加上大量的null check语句:if (Scores == null){ Scores = new double[10];}elsenull值替代原创 2022-05-21 11:07:30 · 253 阅读 · 0 评论 -
c#foreach语句中break 和continue的区别
在foreach中使用break时,会结束整个foreach循环; 在foreach中使用continue时,会结束当前的循环,继续下一轮的循环,并不会跳出整个循环; Demo: public static void ContinueAndBreakInForeach() { List<int> list = new List<int>(); for (int i = 0; i < 5;...原创 2021-12-11 21:19:10 · 9487 阅读 · 0 评论 -
ado.net 中sqlparameter与like查询
new SqlParameter("@BuyerName", string.Format("%{0}%",BuyerName) )原创 2021-08-21 16:46:22 · 232 阅读 · 0 评论 -
异步代码中不要用sleep.
在编写代码的时候,有时候我们需要“暂停一段时间,再继续执行代码”。比如调用一个Http接口,如果调用失败,则需要等待2秒钟再重试。在异步方法中,如果需要“暂停一段时间”,那么请使用Task.Delay(),而不是Thread.Sleep(),因为Thread.Sleep()会阻塞主线程,就达不到“使用异步提升系统并发能力”的目的了。如下代码是错误的:public async Task TestSleep(){ await System.IO.File.Re...原创 2021-07-09 17:13:06 · 1580 阅读 · 0 评论 -
LINQ示例代码
public class TEST { /* * 统计一个字符串每个字母出现的频率(忽略大小写),然后 * 按照从高到低的顺序输出出现频率高于2次的单词和其出现的频率 * LINQ的写法跟sql相似 * */ public static void FindLetterAppearOverTwoTimes() { string str = "abaac...原创 2021-06-03 20:35:24 · 112 阅读 · 0 评论 -
.net文件IO操作
C#进阶:IO和文件操作原创 2021-03-30 19:32:08 · 150 阅读 · 0 评论 -
datetime 类型 和datetime?类型的区别
datetime?类型在baiframework2.0后才有(vs2005以上du本zhi).与datetime区别在dao于:datetime?可以为zhuan空,datetime不能为空,它必须随时间shu值存在.datetime a = null;这种权写法将报错.datetime? b = null;这种写法不会报错.这个与int和int?的关系是一样的....原创 2021-03-06 10:16:51 · 326 阅读 · 0 评论 -
CSharp扩展方法示例代码
/// <summary> /// 输出JSON字符串 /// </summary> /// <param name="obj"></param> /// <returns></returns> public static string ToJSON(this Object obj) { if (obj == nu..原创 2021-02-20 14:40:57 · 445 阅读 · 0 评论 -
Debugger.Launch()和Debugge.Break():等同于把程序附加于进程
https://www.jb51.cc/csharp/98079.html原创 2021-02-02 15:43:54 · 841 阅读 · 0 评论 -
BeginInvoke示例程序
//委托调用方法 Func<string,string,string,string> myfunc= (p1,p2,p3)=>{ Console.WriteLine("\n\n****************委托调用方法 Start 线程ID:{0}***************", Thread.CurrentThread.ManagedThreadId); Console.WriteLine(p1.原创 2021-01-25 13:34:12 · 174 阅读 · 0 评论 -
C#中的扩展方法
public static void extendMethod() { List<Person> persons = new List<Person>() { new Person(){ BirthTime=DateTime.Parse("1990-01-19")}, new Person(){ BirthTime=DateTime.Parse("1993-04-17")..原创 2021-01-11 16:05:48 · 139 阅读 · 0 评论 -
IQueryable和IEnumerable的区别?
public static void IEnumerableAndIQuerable() { ///我们平时使用的表达式树,是编写的lambda表达式然后编译成的表达式树, ///也就是说平时一般情况使用的表达式树都是编译器帮我们完成的 Expression<Func<Student, bool>> expression = t => t.Name == "农码一生" &&...原创 2021-01-11 15:30:04 · 193 阅读 · 0 评论 -
CSharp通过验证类
/// <summary> /// 通用验证类 /// </summary> class DataValidate { /// <summary> /// 验证正整数 /// </summary> /// <param name="txt"></param> /// <returns></returns&g.原创 2020-12-27 20:22:17 · 140 阅读 · 0 评论 -
HttpwebRequest代码示例
https://download.csdn.net/download/qq_41617901/13718413原创 2020-12-18 09:01:09 · 122 阅读 · 0 评论 -
Linq相关知识点
Queryable方法示例.NET 复习笔记 / LINQ,从IQueryable说起LinQ To Object 基本用法Linq to SQL -- 入门篇linq的种类原创 2020-12-11 08:57:35 · 121 阅读 · 0 评论 -
c#中的Nullable
firstPanel = firstPanel ?? new FirstPanel();等效于: if (firstPanel != null) { firstPanel = new FirstPanel(); }原创 2020-12-10 09:02:56 · 127 阅读 · 0 评论 -
csharp中的Action,Func,Predicate
我们知道委托非常强大,首先我们要使用委托解决的就是对象之间信息的“逆向传递问题”。其次,其实委托还有很多的用途。(匿名方法、Lambda表达式,和泛型结合)最后,我们在学到一定程度的时候,我们必须研究底层原理。(比如我们学EntityFramework,linq各种查询,扩展方法)一、匿名方法、Lambda表达式1、匿名方法的概念:一个方法没有具体的名称,而只有关键字delegate、方法参数、方法体,这种方法是匿名方法。匿名方法的好处:将具体方法和委托直接关联到一起,如果我们基于委托只原创 2020-12-06 19:14:32 · 748 阅读 · 0 评论 -
委托(delegate)与事件(event)的区别,一次性讲清
TextCtrl.xaml <Grid> <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" Height="68"> <Button Width="100" Margin="10" Content="清除" x:Name="btnClear"/> <Button原创 2020-11-29 00:26:38 · 965 阅读 · 0 评论 -
C#日期格式的万能转换方法
/// <summary> /// 字符串日期转DateTime /// </summary> public static DateTime TransStrToDateTime(string strDateTime) { DateTime now; string[] format = new string[] { "yyyyMMddHHmmss", "yyyy-MM-dd.原创 2020-11-13 13:40:22 · 1379 阅读 · 0 评论 -
C#使用throw和throw ex的区别
第四种:经过对异常重新包装,但是会保留原始异常点信息。推荐使用。try{}catch (Exception ex){ throw new Exception("经过进一步包装的异常", ex);}C#使用throw和throw ex的区别原创 2020-11-13 13:37:34 · 113 阅读 · 0 评论 -
IAsyncResult异步编程
#region /** * 用委托(Delegate)的BeginInvoke和EndInvoke方法操作线程 BeginInvoke方法可以使用线程异步地执行委托所指向的方法。然后通过EndInvoke方法获得方法的返回值 (EndInvoke方法的返回值就是被调用方法的返回值),或是确定方法已经被成功调用。 * */ private delegate int New...原创 2020-10-31 19:31:48 · 272 阅读 · 0 评论 -
单例模式
public class ElectronicCertificationCommon { private static object _o = new object(); private static ElectronicCertificationCommon _instance = null; private string[] _config = null; private ElectronicCertificationCo..原创 2020-10-29 10:08:20 · 76 阅读 · 0 评论 -
C#读取上两级的配置文件
string basePath = System.AppDomain.CurrentDomain.BaseDirectory; DirectoryInfo info = new DirectoryInfo(basePath); String path = info.Parent.Parent.FullName; ExeConfigurationFileMap map = new ExeConfigurationFileMap();.原创 2020-09-23 22:47:09 · 103 阅读 · 0 评论 -
C#调试被启动的程序
待写原创 2020-09-23 21:55:42 · 134 阅读 · 0 评论 -
Dictionary 之TryGetValue()的用法
Dictionary<int, string> dic = new Dictionary<int, string>(); dic.Add(1, "a"); dic.Add(2, "b"); dic.Add(3, "c"); string result; dic.TryGetValue(1, out result); Console.Wri..原创 2020-09-10 21:31:39 · 3424 阅读 · 0 评论 -
Linq to IQueryable和Expression
http://17bang.ren/Article/556转载 2020-07-28 17:17:06 · 239 阅读 · 0 评论 -
多线程编程示例(1)
public void LoadData() { if (_jbxx != null) { string addr = ConfigurationManager.AppSettings["ServiceAddr"].ToString(); //去掉地址结尾的'/',否则请求中会出现两个'/',而导致请求失败 string url = strin...原创 2020-07-14 15:37:25 · 118 阅读 · 0 评论 -
C#Dispatcher.Begin.Invoke()方法
public void CleanData() { this.Dispatcher.Invoke(new Action(() => { gridControl.ItemsSource = null; tbToolsTipLoading.Visibility = System.Windows.Visibility.Visible; .原创 2020-07-07 20:13:24 · 1174 阅读 · 0 评论 -
类成员类型
原创 2019-05-24 11:48:48 · 1169 阅读 · 0 评论 -
c#中定义常量
static class Constants{ public const double Pi = 3.14159; public const int SpeedOfLight = 300000; // km per sec.}class Program{ static void Main() { double radius = 5.3; ...原创 2019-05-24 11:51:24 · 2602 阅读 · 0 评论 -
可空类型与非可空类型
string=null,string=“”的区别?null是没有空间引用的,“”是空间为0的字符串原创 2019-05-24 16:33:26 · 235 阅读 · 0 评论 -
使用基类的引用
回顾一下引用类型:值类型与引用类型class 为引用类型class MyBaseClass { public void Print() { Console.WriteLine("This is base class"); } }class MyDerivedClass:MyBaseClass ...原创 2019-05-25 14:13:32 · 912 阅读 · 0 评论 -
虚方法与覆写方法
基类的引用调用派生类(derived class)中的方法时,要满足如下条件:1.基类方法要用virtual标注2.派生类方法要用override标注 class MyBaseClass { virtual public void Print()//基类方法用virtual { Console.WriteLine("This...原创 2019-05-25 15:01:42 · 227 阅读 · 0 评论 -
值类型与引用类型
原创 2019-05-22 14:52:53 · 115 阅读 · 0 评论 -
c#polymorphism
https://www.c-sharpcorner.com/UploadFile/ff2f08/understanding-polymorphism-in-C-Sharp/转载 2019-05-30 15:53:53 · 167 阅读 · 0 评论 -
c#abstract
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace App_abstract{ abstract class Info { abstract public voi...原创 2019-05-28 13:37:44 · 420 阅读 · 0 评论