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-18 16:10:49
原来用C#写的程序可以正常与西门子1500通讯. 但是这一次现场反馈通讯不上.现把现场出现的问题做一次总结.事实上, 这次通讯不上的问题主要是辊压机的PLC工程师不了解这款西门子PLC的一些通讯设定.在PLC端的程序中, 我看到是引入了MB_SERVER模块, 绑定了一个背景DB块. 地址为DB337.这个模块用于把PLC的内存地址挂到modelbus服务器端上面去, 供下面的modelbus服务...
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-12 17:09:06
转一个西门子官方的说明贴子:https://support.industry.siemens.com/cs/document/68015630/%E5%9C%A8step-7-(tia-portal)-%E4%B8%AD%EF%BC%8C%E5%85%A8%E5%B1%80%E6%95%B0%E6%8D%AE%E5%9D%97%E7%9A%84%E5%A3%B0%E6%98%8E%E8%A1%A8...
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-09-03 14:24:01
这款BFLY-PGE-50A2M-CS工业相机, 500万像素. 配置网卡选用 SCI-GEP-4, 这是内部带4针电压专供的GigE接口相机的网卡. 如果你把GigE接口的网线插到普通网卡, 会发现网卡信号灯都不会亮.有些型号的GigE接口的相机,则需要在相机上的圆型接口接入外接电源. 而这一款则不需要.这款相机配套的官方驱动及管理工具为: 安装好后, 下面两个程序是我们需要的. 要注意的是:...
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-09 08:12:49
命名空间:netMarketing.winformHelper功能:动态构建属性功能详细说明:propertyGridHelper类用来动态构建属性。XProp类代表一条属性,XProps是多个XProp的集合类。这个类的优点在于可以动态设定propertyGrid控件的属性,传统的使用预定义标签与初始化代码实现的效果是固定的,是不可以增减的。这个类也有一个缺点,就是不好使用Settings类将用...
2018-08-08 14:19:29
命名空间:sharClass.Settings功能:保存界面控件内容到文件、读取配置文件内容到界面控件功能详细说明:Settings类可以保存常见控件内容到属性变量,你可以用它来保存设置面板的信息到磁盘文件,或者载入。这时候控件的名字要加上前缀:txt, cbb,chk,以识别是TextBox、ComboBox、CheckBox另外,这个类还可以保存PropertyGrid控件的信息。如果像本程序...
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)是指编译器在编译时候会对常量进行解析,并将常量的值替换成初始化...