前两天看见扩展属性,瞬间感觉微软需要学习的东西实在是太多了,博大精深,我还差得很远,以下的扩展方法就是一个很好的东西。现在我先建立一个modelpublicclass Student{publicstring Id { get; set; }publicstring Name { get; set; }}View Code在实际场景中,可能我们需要在这个model里需要写一些方法,一些查询等等,但是我们在设计时希望model里面只是声明属性,其它方法不放在model里面,那么怎么做到两者兼容呢,扩展方法可...
例如:想执行 int score=Conver.ToInt32(Console.ReadLine());但是用户不一定会直接输入int类型,所以为了避免用户输入错误。就有了try catch。下面有段代码可以试着执行一下,以便更好地理解。try{ int score=Conver.ToInt32(Console.ReadLine()); Console.WriteLine("in try");}catch{ Console.WriteLine("in catch");} Console.WriteLine("over"); Console.ReadKey();运行结果说明:如果try中的代码没有出异常,则不会执行cat...
1. 什么是局部类型?C# 2.0 引入了局部类型的概念。局部类型允许我们将一个类、结构或接口分成几个部分,分别实现在几个不同的.cs文件中。局部类型适用于以下情况:(1) 类型特别大,不宜放在一个文件中实现。(2) 一个类型中的一部分代码为自动化工具生成的代码,不宜与我们自己编写的代码混合在一起。(3) 需要多人合作编写一个类。局部类型是一个纯语言层的编译处理,不影响任何执行机制——事实上C#编译器在编译的时候仍会将各个部...
原来C#不仅仅支持和C/C++中指针(或者说是引用)很像的委托delegate,还支持在unsafe代码块中使用指针,从而写非托管的代码(人为不让垃圾回收机制来管理相应的内存)。在unsafe中就可以使用指针,基本用法和C++差不多(果然是一家人,哈哈)。在用指针调用数组的时候需要使用fixed语句(只能在unsafe语句块中使用)来固定指针变量的初始值,否则可能被垃圾回收机制改变指针变量的值,fixed语句可以禁止垃圾回收机制重定位可移动的变...
1.BackgroundWorker b = new BackgroundWorker(); b.WorkerReportsProgress = true; b.ProgressChanged += new ProgressChangedEventHandler(UpdateProcess); b.DoWork += new DoWorkEventHandler(DoBuild1); if (b.IsBusy != true) { b.RunWorkerAsync...
十九 使用Win Form控件 比如说电脑有显示器,鼠标,主机以及键盘的基本元素组成。在windows窗体中也有其基本控件,这些控件在每一个窗体中都要用到,也就是说无所不在。有些控件可能外观不同但是他们的使用方式都基本上一样。 重点 ? 掌握这些控件常用属性方法以及事件? 能用编码的形式实现控件的基本功能? 体会每个控件使用的场景 预习功课 ? 什么是控件类,控件类的基类(父类)是么?它是用来做什么...
using System;using System.Windows.Forms;public class frmMain : Form{ #region Windows Code private void InitializeComponent() { this.SuspendLayout(); // // frmMain // this.ClientSize = new System.Drawing.Size(648, 475); this.Name = "frmMain"; this.Load += new System.EventHandler(this.frmMain_Load); th...
字符串的不可变性(恒定性):当你给一个字符串重新赋值之后,老值并没有被销毁,而是重新开辟了一块空间存储新值IL(中可以查看)所以我们使用字符串扩展方法时,其实都是一个新的对象(Trim)字符串的驻留机制 //CLR中维护着一个驻留池(Intern Pool)的散列表(HashTable),这个表记录了所有在代码中使用字面量声明的字符串实例的引用 //使用字面量声明的字符串都会被记录到散驻留池(散列表 键为字符串 值为字符...
此文章不断补充1、判断该字符串是否存在于字符串数组中1string[] arr = {"aaa","bbb","aba","ccc" };
2string str = "vv";
3 Console.WriteLine(arr.Contains(str)); 2、将字符串中的标点符号替换成空格1string str = "fdasjklfsdalj;dfsafjksdjkgd,fsdajklfjksldaklj klkfdska;fwefew.45fsd4521fsa3";
2string strRegex = Regex.Replace(str, @"\p{P}", "");
3 Console.WriteLine(strRegex); 原文:http:...
//1元,2元,5元;凑够20元有多少种可能int x = 0, y = 0, z = 0, m = 0; while (x <= 20) { while (y <= 10) { while (z <= 4) { if (x + 2 * y + 5 * z == 20) { Console.WriteLine(x + "," + y + "," + z); ...
aspose.word主要是通过把读取出来的数据放到datatable里,在datable里做相应的格式的调整,再导出到word文档里。mvc和webform最后导出的语句略有不同,在mvc的controller,用的是base.File,对应的是FileContentResult,在webform里用的是Response。写法分别为: //在WebForm中,保存文档到流中,使用Response. BinaryWrite输出该文件 var docStream = new MemoryStream(); doc.Save(docStream, SaveOptions...
原文地址 http://blog.sina.com.cn/s/blog_3e1177090101bzs3.html今天用到了特转载NET框架中的颜色基于4种成份,透明度,红,绿和蓝.每一种成份都是一个字节,在0--255之间取值.Color结构代表颜色,当类和方法要作用于颜色的时候,它们作用于Color结构的一个实例.Color结构通过表态属性公开了140个命名颜色,这些属性返回预先创建的Color对象.Color newColor = Color.Red;创建Color实例的另一种方式是调用静态FromArgb方法,该方法有4个重...
写过爬虫的同学都知道,这是个很常见的问题了,一般处理思路是: 使用HttpWebRequest发送请求,HttpWebResponse来接收,判断HttpWebResponse中”Content-Type”中的具体编码,再利用StreamReader 将信息流转为具体的编码就OK了。下面提供第一种思路的一般方法:c#抓取网页内容乱码的解决方案这种方法基本上解决了大部分的编码问题。 之所以说基本上也是因为有一些网页,在HttpWebResponse 返回的头部中”Content-Type” 有时候不能正...
原文: 控件注册 - 利用资源文件将dll、ocx打包进exe文件(C#版) 很多时候自定义或者引用控件都需要注册才能使用,但是如何使要注册的dll或ocx打包到exe中,使用户下载以后看到的只是一个exe,点击直接运行呢?就像很多安全控件,如支付宝的aliedit.exe那样。 现在介绍一种使用资源文件,将dll、ocx打包进exe,点击直接注册的例子: 首先,新建一个工程RegisterFile。 新建文件夹Resource,里面添加需要注册的ocx...
其实只要明白 LINQ查询操作符的Distinct、Union、Concat、Intersect、Except、Skip、Take、SkipWhile、TakeWhile、Single、SingleOrDefault、Reverse、SelectMany,Aggregate()的使用,一些简单的操作就可以了。 合并两个数组,并去掉重复元素,然后排序(C#)List<int> numbers1 = new List<int>() { 5, 4, 1, 3, 9, 8, 6, 7, 12, 10 };
List<int> numbers2 = new List<int>() { 15, 14, 11, 13, 19, 18, 16, 17, 12, 10 };
var newQue...