C#语言
文章平均质量分 58
imJaron
这个作者很懒,什么都没留下…
展开
-
属性访问修饰符小实验
今天在重温C#一些语言特性的时候,突然想到了下面这个小实验。结论如下: 1. 不能同时对 get/set 设置访问修饰符,会报这个错误 (如果真这样做,那要属性干嘛?)2. 如果 get/set 想设置为public,那么是不需要显示的写出来的,如 public get。 会报错原创 2016-01-18 14:16:41 · 287 阅读 · 0 评论 -
程序性能的初步优化与分析(以 C++ 为例)
去年圣诞节浏览了 Milo Yip 的文章“如何用 C 语言画一棵圣诞树” 后,对这个圣诞树生成算法很感兴趣:#include <math.h>#include <stdio.h>#include <stdlib.h>#define PI 3.14159265359float sx, sy;float sdCircle(float px, flo...转载 2018-04-13 16:29:01 · 257 阅读 · 0 评论 -
程序员级别鉴定书(.NET面试问答集锦)
作为一个.NET程序员,应该知道的不仅仅是拖拽一个控件到设计时窗口中。就像一个赛车手,一定要了解他的爱车 – 能做什么不能做什么。本文参考Scott Hanselman给出的.NET问题列表,整理如下。包括WinForms,ASP.NET,XML以及C#和.NET基础相关的问题,有兴趣的自我检测一下吧~参考答案另附在文章末尾,由于水平有限,难免有谬误,欢迎指正。 所转载 2016-04-20 17:46:49 · 441 阅读 · 0 评论 -
C#中正则表达式的使用
目前为止,许多编程语言和工具都包含对正则表达式的支持,C#也不例外,C#基础类库中包含有一个命名空间(System.Text.RegularExpressions)和一系列可以充分发挥规则表达式威力的类(Regex、Match、Group等)。那么,什么是正则表达式,怎么定义正则表达式呢? 一、正则表达式基础l 什么是正则表达式 在编写字符串的转载 2016-03-08 14:27:45 · 327 阅读 · 0 评论 -
C# 3的分部方法
作用是一个可选的钩子,如果没有实现,则不会有任何的开销。比如:MyForm.cspartial class MyForm{public MyForm(){CustomInitialize();Setup();}partial void CustomInitialize();partial void Setup();}MyF原创 2016-03-04 16:54:36 · 425 阅读 · 0 评论 -
Process的使用
首先是ProcessStartInfo的几个重要属性。1. FileName: 可以是可执行文件的全路径,或者只是文件名(会在PATH的指定路径下面去找)2. UseShellExecute: 是否用外壳去运行该可执行文件,如果是的话,可以运行任何可执行文件(与之相关联的,具有默认打开操作的注册文件类型)。如果是false,则只能用 Process组件启动3.原创 2016-01-28 11:02:01 · 1400 阅读 · 0 评论 -
泛型的四种约束
对于泛型类型或者泛型方法,可以对类型指定约束。约束放在类型声明的末尾,然后用where来引入。1. 引用类型约束: (T : class), 即T必须是一个引用类型。struct Test where T : class原创 2016-01-27 15:18:59 · 1765 阅读 · 0 评论 -
struct: Backing Field for Automatically Implemented Property [Text] must be Fully Assigned..
今天在用MSBUILD编译一个项目的时候,碰到了这个跟struct相关的错误。Backing Field for Automatically Implemented Property [Text] must be Fully Assigned Before Control is Returned to the Caller我的代码如下, public stru原创 2016-01-25 16:34:47 · 484 阅读 · 0 评论 -
.NET 4.0中的泛型协变和反变
随Visual Studio 2010 CTP亮相的C#4和VB10,虽然在支持语言新特性方面走了相当不一样的两条路:C#着重增加后期绑定和与动态语言相容的若干特性,VB10着重简化语言和提高抽象能力;但是两者都增加了一项功能:泛型类型的协变(covariant)和反变(contravariant)。许多人对其了解可能仅限于增加的in/out关键字,而对其诸多特性有所不知。下面我们就对此进行一些详转载 2016-01-21 14:54:30 · 409 阅读 · 0 评论 -
Delegate委托相关
1. 给委托实例赋值的时候,参数类型不一定要完全相同,兼容的也可以,比如以下。delegate void MyDel(string s);void MyFun(object obj){...}MyDel md = MyFun; // OK. 因为string派生于object2. 委托的合并与删除是通过Delegate的静态方法Combine和Remov原创 2016-01-20 09:53:54 · 352 阅读 · 0 评论 -
具名参数
比如一个构造函数如下:public Product(string name, string address)以下几种用法是错误的。new Product("address 1", name: "jaron"); // 报错, name已经被设置("address 1")new Product(name: "jaron", "address 1"; // 报错,na原创 2016-01-18 14:59:19 · 688 阅读 · 0 评论 -
valgrind 工具介绍和简单的使用
最近老是遇上各种奇奇怪怪的core dump,不太会分析的情况下看到了这款工具。在这记录分享下。Valgrind 是个开源的工具,功能很多。例如检查内存泄漏工具---memcheck。Valgrind 安装:去官网下载: http://valgrind.org/downloads/current.html#current安装过程:(可以直接查看README文档来确认安装过程) tools/v...转载 2018-04-13 17:21:33 · 701 阅读 · 0 评论