2018-09-21 16:52:57
定义??被称为【可空合并】运算符,是一个二目运算符,操作参数两枚,其完成的功能为对左参数判断之后进行赋值。 返回结果:如果左操作数不为空,则返回左操作数本身;如果左操作书为空,则返回右操作数。 格式:object1 ?? object2 //伪代码示例
obejct NullCoalescingFunc( obejct object1,obejct obejct2)
{...
2018-09-20 17:52:21
转载自: https://blog.csdn.net/lym940928/article/details/80039571 泛型通过参数化类型来实现在同一份代码上操作多种数据类型。 利用“参数化类型”将类型抽象化,从而实现灵活的复用。泛型类的定义 定义一个泛型类指的是,定义一个类,这个类中某些字段的类型是不确定的,这些类型可以在构造的时候确定下来。 eg://创建一个类处理int类型或doubl...
2018-09-20 17:21:18
E文好的,移步官方介绍地址:https://docs.microsoft.com/zh-cn/dotnet/articles/csharp/csharp-7先列一下相关的语法:1.out-variables(Out变量)2.Tuples(元组)3.Pattern Matching(匹配模式)4.ref locals and returns (局部引用和引用返回)5.Local Functions...
2018-09-20 15:09:24
现在是出现语法补全列表时, 非得要按下键盘上下键去选择才可以. 而正常情况下应该是有默认选择项的.解决办法是按下:ctrl+Alt+空格另一种情况是代码补全没有了,你搞入. 没有反应。这种情况下,你再开一个vs新建一个工程,看是不是有代码提示。如果有提示,则这样处理:重置开发环境关闭工程,重新打开,就好了。...
2018-09-16 22:12:45
首先说明Nuget是什么呢?它的官方是:https://www.nuget.org/官方主页的介绍如下:What is NuGet?NuGet is the package manager for .NET. The NuGet client tools provide the ability to produce and consume packages. The NuGet Gallery i...
2018-09-14 17:12:19
表达式计算的演示程序.下面的表达式计算只支持个位数计数, 用来说明计算原理.using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;...
2018-09-13 22:06:56
泛型和强制类型转换 隐式强制转换 C#编译器只允许将泛型参数隐式强制转换到object或泛型参数的约束指定的类型,代码如下interface IMyInterface
{
//
}
class MyClass
{
//
}
class ConvertOfTypeDemo<T&g...
2018-09-13 22:02:22
//====================== 泛型类及类型转换 ===========================
泛型类代码
public class MyTemplate<T> //设计一个泛型类
{
private T mydata;
public MyTemplate()...
2018-09-13 22:01:41
public class Test{
public void Export<T1, T2>()
{
}
public void ExportByClassName(string typename1,string typename2)
{
Type t1 = Type.GetType(typename1);
Type t2 = Type.GetType(typename2)...
2018-09-13 21:59:00
/// <summary>
/// 将字符串转化为指定类型
/// </summary>
/// <typeparam name="T">指定的类型</typeparam>
/// <param name="str">需要...
2018-09-13 21:53:19
在一段程序中, 发现这样的错误, 但是奇怪的是, 这个程序的exe是可以执行的. 也就是之前应该编译通过了. 但是我再编译则下面的代码通过不了.网上搜了一下.直接奖泛型转为T是不能转换的 要先转Object例: public static T GetValue<T>(string inValue)
{
if (typeof(T) == typeo...
2018-09-06 16:46:37
1.DateTime添加毫秒失效DateTime添加毫秒失效: DateTime.Now.AddMilliseconds(40),没起作用解决方法:
DateTime gt = DateTime.Now;
gt= DateTime(gt.Ticks + * );2.DateTime.ToString(string format)DateTime.ToString()函数有四个重载。一般...
2018-08-29 18:38:49
上午刚写了一篇关于带ToolTip的ListBox控件,这一篇是针对所有项,无论项文本长度有无超出控件,都会呈现ToolTip。现在这一篇基础上加一些限制并引进图标显示,只对超出部分的项才呈现ToolTip,项文本对超出部分用“...”替代详见代码:一、自定义项/// <summary>
/// 自定义项
/// </summary>
class MyLi...
2018-08-27 10:03:13
背景 List集合,数组Int[],String[] ……,Dictory字典等等。但是这些列表、集合和数组的线程都不是安全的,不能接受并发请求。例如:namespace Spider{
class Program
{
private static List<Product> _Products { get; set; } sta...
2018-08-25 16:28:36
在集成式视觉处理软件中,我们常需要使用脚本来控制流程或者灵活的计算结果,这常常要求我们在程序中能够嵌入执行脚本代码,而微软的MSScriptControl控件就为这样的需求提供了方便。MSScriptControl控件是一个COM控件,可以通过VS引用进来。在解决方案的引用目录上单击右键,选择添加引用…-->COM标签-->选择 MicroSoft Script Control 1.0...
2018-08-18 21:58:31
public virtual Stream GetManifestResourceStream(string name)参数name类型:System.String 所请求的清单资源的名称(区分大小写)。name格式:项目名称 + 文件名 通过GetManifestResourceStream加载文件出现错误提示“null值”对于“stream”无效。在做Mobile开发时,需要引入图片,用到了这...
2018-08-18 08:21:14
在.NET中有组件、控件和用户控件。其实从字面上已经可以理解各自的不同了。但是具体关系其实是从类的继承上来区别的。一般控件派生于:Control类,所以从此类派生出的称之为控件。一般组件派生于:Component类,所以从此类派生出的称之为组件。一般用户控件派生于:UserControl类,所以从该类派生出的称之为用户控件。(我们之所以这么叫其实是因为英文翻译上的习惯)他们之间的关系主要是:Us...
2018-08-09 16:44:51
窗体代码: public partial class Form1 : Form
{
eventTest event1 = new eventTest();
public Form1()
{
InitializeComponent();
event1.disEvent += event...
2018-08-08 13:16:45
Partial是局部类型的标志。局部类型可以实现将一个类、结构或接口分成几个部分,分别放在在几个不同的.cs文件中(当然也可以放在同一个.cs文件中)。在程序进行编译之后,将会合并成一个完整的类。因此局部类型并没有看起来那么难以理解,使用partial只是让类变得更容易管理,实际使用时和普通的类一样。适用范围: (1)类型特别大,不适合放在一个文件中实现。 (2) 一个类型中的一部分代码为自动化工...
2018-08-08 08:32:58
一,为DataTable设置主键如果我们为DataTable设置一个主键,那么我们就可以根据主键在DataTable中查到唯一的数据。为什么是唯一的数据呢?因为根据主键查出来的记录永远都是唯一的,呵呵,要不然它与DataTable的Select方法是一样的效果了。当然,利用DataTable.Select("能确定唯一的条件").Rows[0]也可以找到与利用主键查找到的一样的...
2018-08-05 16:04:40
为了快速体验一下C#的dataGridView控件,写了这段演示代码。请新建一个form,拖入一个dataGridView控件。然后添加下面的代码。效果如下:代码:using netMarketing.Interface.FormAbout;
using netMarketing.winformHelper;
using System;
using System.Collections.Ge...
2018-08-03 09:40:49
这个3个关键字貌似不是很常用。C#语法跟Java很接近,但是在Java里面也没有这些关键字。我在网上搜罗了一些资料,希望能够帮助我们更好的理解这些关键字。MSDN资料:http://msdn.microsoft.com/zh-cn/library/39bb81c3.aspx首先,explicit和implicit关键字分别表示显式的类型转换和隐式的类型转换。explicit 和 implicit...
2018-08-01 16:25:11
PropertyGrid,.net框架下的一个控件,这是一个软件升级的项目,原来的软件用的是C++,控件用的还是第三方,这次升级到visual studio .net4.0版本,原以为.net的东西用起来不会费劲的,没想到想要实现项目需要的效果还真没那么简单。 由于需要,我这里主要是为了能动态的生成属性页,还要带能动态生成下来菜单,所以今天主要从这方面总结。 首先定义一个属性类://单条属性类pu...
2018-07-30 08:44:52
在项目开发过程中,估计也有人和我遇到过同样的经历:运行环境出现了重大Bug亟需解决、或者由于电脑挂了、旧代码覆盖新代码,而在这种情况下,我们不能直接在当前的代码中修改这个Bug然后发布,这会导致更严重的问题,因为相当于版本回退了。还有电脑挂了代码整个都没有,这种情况下 我们只能只能利用一些逆向的技巧和工具了 来解析在服务器发布好的dll。那么你只是单纯的修改一个.Net程序集中的某个方法或功能,而...
2018-07-27 13:44:18
目录什么是静态常量(Const)和动态常量(Readonly)静态常量(Const)和动态常量(Readonly)之间的区别动态常量(Readonly)被赋值后不可以改变总结什么是静态常量(Const)和动态常量(Readonly) 先解释下什么是静态常量(Const)以及什么是动态常量(Readonly)。 静态常量(Const)是指编译器在编译时候会对常量进行解析,并将常量的值替换成初始化...
2018-07-26 16:20:34
Type.GetType()在跨程序集反射时返回null的解决方法在开发中,经常会遇到这种情况,在程序集A.dll中需要反射程序集B.dll中的类型。如果使用稍有不慎,就会产生运行时错误。例如使用Type.GetType("BNameSpace.ClassName")在程序集A.dll获取程序集B.dll中的类型,就会返回Null。关于跨程序集的反射,有两点需要注意: 1、如果...
2018-07-23 22:05:12
如果你直接绑定DataTable表,如下面代码:listBox1.DataSource = dt;则会出现下图现象:正确做法见代码:using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using...
2018-07-22 10:49:51
转载自: https://blog.csdn.net/zhujunxxxxx/article/details/44303743 文章系列目录C#网络编程系列文章(一)之Socket实现异步TCP服务器 C#网络编程系列文章(二)之Socket实现同步TCP服务器C#网络编程系列文章(三)之TcpListener实现异步TCP服务器C#网络编程系列文章(四)之TcpListener实现同步TCP服务...
2018-07-21 22:10:50
invoke和begininvoke 区别一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解。 首先说下,invoke和begininvoke的使用有两种情况: 1. control中的invoke、begininvoke。 2. delegrate中的invoke、begininvoke。 这两种情况是不同的,我们...
2018-07-21 11:11:41
EventArgs是包含事件数据的类的基类,用于传递事件的细节。今天分享的是使用泛型来约束EventArgs,在事件里传递自定义数据的例子。正题由于这个关注点很小,直接上代码了。定义泛型类TEventArgs:public class TEventArgs<T> : EventArgs
{
public TEventArgs(T t)
{...