C#
文章平均质量分 80
丁小未
热爱游戏开发,热爱Coding!
展开
-
关于C#的反射,你真的运用自如嘛?
前言我们都知道反射在编程语言里是非常方便也是非常强大的,但或许有人会觉得在学习或者工作中用的可能并不是那么多,这对于刚入行不久的人而言的,我的理解是反射在写框架和写工具是用的比较多的。举个栗子:写一个Excel的表格编辑器,我们能够在控制台修改Excel里面的内容,或许有人会觉得这有啥难的,直接手撸对应的Model,如果哪一天策划手滑或者手贱修改了命名,或者增加/减少一列,那我们程序是不是也要跟...原创 2019-06-28 13:25:34 · 3013 阅读 · 10 评论 -
C# 火星文转化 算法 dictionary 的使用案例
更多教程请访问:http://dingxiaowei.cn/using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Dictionary测试{ class Program { private const strin...原创 2012-11-01 14:22:38 · 26879 阅读 · 0 评论 -
[asp.net]C#实现json的序列化和反序列化
在做asp.net和unity进行http通信的时候,当unity客户端发出表单请求的时候,我要将他要请求的数据以json的格式返回给客户端,让客户端来解析。服务器端这一块就涉及到json的序列化和反序列化的问题。接下来就来举个列子,当然包括两种方法(本篇参考自:http://www.csharpwin.com/csharpspace/10822r2908.shtml)两种方法都有例子,第原创 2013-12-10 10:22:30 · 7729 阅读 · 0 评论 -
10个鲜为人知的C#关键字
10 Not So Well Known Keywords in C#Ok before the flaming start let me state this. These are known to most hardcore programmers and not knowing them doesn’t make you less of a programmer either.转载 2014-01-08 00:09:03 · 2540 阅读 · 0 评论 -
[C#]提交表单
C# Winform提交表表单的操作://登陆 private void button1_Click(object sender, EventArgs e) { string name = textBox1.Text.Trim(); WebClient w = new WebClient();原创 2014-01-06 16:00:56 · 2844 阅读 · 0 评论 -
[.net]捕获错误机制
一般获取错误用TryCatch即可,但有时候,有的却捕获不到,程序就异常奔溃,经过@灰太龙的指导,发现这段代码可行,能够捕获异常,就算不用trycatch也行。 static Program() { AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Curr原创 2014-01-05 11:31:34 · 1461 阅读 · 0 评论 -
[C#]猫叫人醒老鼠跑 C#的委托及事件
讲解了一下委托跟事件的应用,说实话这个东西听起来还是一头雾水,虽然学会怎么用,但是还没搞明白需要在什么时候用到这个,后来我们经理给我举了个例子,让我做一个经典的委托和事件的例子,就是猫叫人醒老鼠跑。 首先很简单,需要定义猫,人跟老鼠三个类,分别命名为Cat,People,Mouse,在这里我还写了一个接口,里面写了一个void Action(),用以实现多态,People和Mou转载 2013-12-19 14:41:32 · 2816 阅读 · 0 评论 -
C#判断中文字符(字符串)
protected bool IsChineseLetter(string input,int index){int code = 0;int chfrom = Convert.ToInt32("4e00", 16); //范围(0x4e00~0x9fff)转换成int(chfrom~chend) int chend = Convert.ToInt32("9fff",转载 2013-12-19 18:52:36 · 3186 阅读 · 0 评论 -
蜘蛛爬虫
using System;using System.Collections.Generic;using System.IO;using System.Net;using System.Text.RegularExpressions;namespace ConsoleApplication1{ class Program { static原创 2013-03-02 00:38:25 · 1778 阅读 · 3 评论 -
C#生成软件注册码
开发软件时,当用到商业用途时,注册码与激活码就显得很重要了。现在的软件破解技术实在在强了,各种国内外大型软件都有注册机制,但同时也不断地被破解。下面发的只是一个常用版本,发出源码被破就更容易了,但我们学习的是技术。当然也为以后自己的软件不会被轻易破解。第一步。根据卷标,CPU序列号,生成机器码// 取得设备硬盘的卷标号 public static string G原创 2013-05-19 22:36:27 · 5222 阅读 · 0 评论 -
[C#]23种设计模式
创建型模式工厂方法(Factory Method)在工厂方法模式中,工厂方法用来创建客户所需要的产品,同时还向客户隐藏了哪种具体产品类将被实例化这一细节。工厂方法模式的核心是一个抽象工厂类,各种具体工厂类通过抽象工厂类将工厂方法继承下来。如此使得客户可以只关心抽象产品和抽象工厂,完全不用理会返回的是哪一种具体产品,也不用关系它是如何被具体工厂创建的。抽象工厂模式(Abstrac转载 2013-12-06 09:11:14 · 3064 阅读 · 0 评论 -
[C#]委托和事件
文中代码在VS2005下通过,由于VS2003(.Net Framework 1.1)不支持隐式的委托变量,所以如果在一个接受委托类型的位置直接赋予方法名,在VS2003下会报错,解决办法是显式的创建一个委托类型的实例(委托变量)。例如:委托类型 委托实例 = new 委托类型(方法名); 欢迎浏览本文的后续文章: C#中的委托和事件(续)引言委托 和 事件在转载 2013-12-10 11:47:08 · 1332 阅读 · 0 评论 -
C#获取本机外网ip
由于ip地址是变动的,所以我们需要自动获取到外网的ip,然后我就写了一段code来自动获取到外网的ip,就不需要每次手写了,就方便多了。using System;using System.Net;using System.Text.RegularExpressions;namespace ConsoleApplication1{ class Program {原创 2013-11-25 16:18:57 · 5894 阅读 · 0 评论 -
C#基础知识面试题
1. 传入某个属性的set方法的隐含参数的名称是什么?value,它的类型和属性所声名的类型相同。2. 如何在C#中实现继承?在类名后加上一个冒号,再加上基类的名称。3. C#支持多重继承么?不支持。可以用接口来实现。4. 被protected修饰的属性/方法在何处可以访问?在继承或间接继承与这个类的子类中可以访问。5. 私有成员会原创 2013-08-03 11:21:20 · 5745 阅读 · 4 评论 -
如何用C#开发的计算器小软件
今天窝在床上一天,利用C#开发了个计算器软件,属于winform窗体的应用开发,大体的功能界面如图所示,简单的总结一下开发过程。计算器的大体功能包括:一些基本运算,如加减乘除,开方和乘方,左边的四个按键的功能从上至下分别是:消除缓存,读取缓存,添加缓存,缓存的累加。 在我想做这个小软件之前,自以为看起来貌似蛮简单,但如果实际自己动手操作,还有不少的细节值得我们思考,还遇到了不少的麻烦,原创 2012-02-26 20:15:33 · 7938 阅读 · 13 评论 -
[unity]单例模式
关于Unity的脚本,用过的人应该都会觉得使用之方便了,又加上Unity把脚本与界面集成,使他更为人性化。已经这么方便了,为什么还要讲一些编程思维呢?其实做一些小应用是没有关系的,不过当工程越来越大时,你会发现其维护难度会越来越大,Unity其他我讲不了,脚本上我做一些个人学习总结,以作各位参考,疏漏出错之处,还请补充,一起进步。废话不多说,让我们开始。我也不讲单例模式的概念了,英文叫转载 2014-02-28 13:15:03 · 2749 阅读 · 0 评论 -
[C#]C#中委托和事件(续)
引言如果你看过了 C#中的委托和事件 一文,我想你对委托和事件已经有了一个基本的认识。但那些远不是委托和事件的全部内容,还有很多的地方没有涉及。本文将讨论委托和事件一些更为细节的问题,包括一些大家常问到的问题,以及事件访问器、异常处理、超时处理和异步方法调用等内容。为什么要使用事件而不是委托变量?在 C#中的委托和事件 中,我提出了两个为什么在类型中使用事件向外部提供方法注转载 2014-03-02 00:31:12 · 1779 阅读 · 0 评论 -
[小工具]代码统计小工具编写
代码小工具是有一定工作经验并且有更高追求的程序的必备技能,今天加班到早晨五六点,到家都七点了,回到家倒头就睡,下午来公司感觉头还有点晕乎,工作的话怕只会产生更多的代码,就想起来写个工程代码统计工具。效果图上图是平时积累的小工具,积累我认识也是程序员必备的素养!主要代码using System;using System.Collections.Generic;using System.IO;us原创 2017-11-01 18:54:53 · 1928 阅读 · 0 评论 -
[C#]图说结构体和类的区别
你真的能准确说出结构体和类的区别嘛,不妨先试试下面几道题,看你答案是否准确: 1. 2. 3. 4.不看答案之前,自己先说一下答案,然后下面再公布答案,如果你能准确说出正确答案,那么说明你对结构体和类就很了解: 先看看stackoverflow是怎么解释结构体和类是怎么选择的:下面公布以上题目答案,你猜对了吗? 1. 2. 3. 4.原创 2017-08-25 11:11:47 · 1233 阅读 · 3 评论 -
C#-根据手机号获得相应的信息
需求:用户输入根据手机号,获得手机号所在的省市信息思路:调用相关的API进行分析效果代码using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Net;using System.Text;using System.Threading.Tasks;using原创 2016-11-28 12:42:27 · 3464 阅读 · 0 评论 -
C#-时间相关的接口
需求客户端要统计每一年每一周的盈亏记录 思路客户端请求: 如果本地没有记录则发送给服务器当前时间,服务器去计算最新一周的数据,如果本地有记录则发送给服务器当前一周第一天的日期服务器响应: 服务器返回年、周、这一周的日期以及每一天的盈亏记录和这一周的总赢亏记录测试代码日期相关的处理代码var time = DateTime.Now;var year = time.Year;string原创 2016-12-06 18:56:02 · 1508 阅读 · 0 评论 -
C#-多线程数据同步容易出现的异常问题
集合类通常不是线程安全的,多个阅读器可以安全的读取集合.但是对集合的任何修改都将为访问集合的所有线程生成不明确的结果.使用以下任何方法都可以令集合类是线程安全的 (1) 使用Synchronized 方法,则从该类派生包装,并通过该包装以独占方式访问集合 (2) 如果该类没有Synchronized 方法,则从该类派生并使用SyncRoot属性实现Synchronized 方法.原创 2016-09-27 08:18:18 · 3942 阅读 · 0 评论 -
C#版的数据结构(对链表的操作)
我们一般只是学过C/C++的数据结构,想必学C#的学生会疑惑,为什么C#没有数据结构呢,那我来告诉你,其实C#也是有数据结构的,只不过我们不了解罢了,经过我半天的编程,终于把C#的数据结构写出来了,也大大增加了我对数据结构的理解,在这里提供出来,共享学习,共同进步! using System;using System.Collections.Generic;using System原创 2012-12-16 12:17:39 · 6839 阅读 · 0 评论 -
[unity3d]unity中C#委托的应用
C#中有一种还是挺实用的类型,就是委托类型,这也是初学者比较难理解的类型,我们常常将委托和事件合起来讲,其实他们两是有些区别的,委托(delegate)是一种类型,而事件(Event)是一种实例(委托中的一种)。下面我就从参考网上的一个例子,讲解一下unity中C#委托的应用。我们新建一个脚本,取名TestDelegate。这个主要的功能就是点击中文按钮输出中文名字,点击英文按钮输出英文名字。原创 2014-01-18 01:42:36 · 18112 阅读 · 6 评论 -
DataTable和Xml互相转化
需求 Sql表查询得到的DataTable要转化成XML,就顺便写个测试的例子, 实现的功能 利用反射实现了DataTable,实体对象,XML的互转。 达到的效果 Code:sqlif exists (select * from sysobjects where id = OBJECT_ID('[T_Students]') and OBJECTPROPERTY(id, 'IsUs原创 2015-09-13 20:35:22 · 7105 阅读 · 0 评论 -
你必须知道的.NET
主要讲.NET底层的一些语言机制,载体为C#。写得比较深入,是本好书。LOH堆 (Large Object Heap) ,用于分配大对象实例。LOH堆不会被压缩,而且只在完全GC回收时被回收 并非所有的值类型都创建在线程的堆栈上,当值类型作为类的字段、或作为堆上实例成员的一部分、或发生装箱时,该值类型都在托管堆上 引用类型的实例分配在托管堆上,而线程栈却是对象生命期开始的地方 托管堆根据存储信转载 2015-07-03 23:30:30 · 4013 阅读 · 0 评论 -
C#笔记
一、变量与表达式 1.变量第一个字母必须是字符、下划线或@,其后就可以字符、数字、下划线。 2.字面值 (1)double为浮点默认字面值,在给float或decimal浮点型赋值时要加f/F或m/M。 3。表达式 Char变量实际存储的是数字,所以把两个char变量加在一起会得到一个数字。二、流程控制 2.转载 2015-05-08 12:36:28 · 1775 阅读 · 0 评论 -
字符串的处理[C#]
//string Str1 = "友情相逢"; //string Str2 = "用一生爱你"; //#region char的使用 //char a = 'a'; //Console.WriteLine("IsLetter方法判断a是否为字母:{0}", Char.IsLetter(a));原创 2012-06-26 20:44:11 · 1305 阅读 · 0 评论 -
[C#]Lambda表达式和Where语法
之前一直以为C#中Lambda表达式和Where语法很神圣,看人家写出一串这样的代码出来都感觉好高深,其实只是不敢接触而已,然后今晚看了一下,其实仔细理解一下也很简单!看例子:[code]csharpcode:01usingSystem;02usingSystem.Collections.Generic;03usingSystem.Linq;04050607namespaceLambda0原创 2014-05-23 01:14:34 · 25315 阅读 · 0 评论 -
[C#]委托和事件(详细讲解)
引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事原创 2014-03-02 00:23:55 · 17196 阅读 · 31 评论 -
[算法]CSDN编程挑战赛之整数取反
今天看了一下庞果网发布的编程挑战赛,我就做了一题目,结果却让我失望,没提交的上去,也不知道是网速原因还是什么,一直处于提交状态,然后我就没理它,一直耗到时间结束,但最后我发现,竟然记我一个挑战失败,好失望!关键是还没有重新挑战的机会。算了,关键是自己得到了锻炼就好!下面就共享我的算法,可能不是最优的算法,如果读者有什么好的建议或者是好的算法欢迎提出,一起交流!题目:以下是我做的原创 2013-12-21 20:59:52 · 2930 阅读 · 5 评论 -
C# GEP基因化编程
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Diagnostics;using System.Collections;namespace GEP编程{ class Program { pu原创 2012-11-02 22:12:17 · 2603 阅读 · 0 评论 -
基于socket、多线程的客户端服务器端聊天程序
服务器端:using System;using System.Windows.Forms;using System.Net.Sockets;using System.Net;//IPAddress,IPEndPoint(ip和端口)类using System.Threading;using System.Collections.Generic;using Syste原创 2013-08-08 17:09:39 · 5905 阅读 · 0 评论 -
语音朗读入门
利用微软自带的TTS,能够实现一个简单的语音朗诵功能using System.Speech.Synthesis; //用于语音朗读using System.Speech.Recognition;//用于识别语音namespace ConsoleApplication1{ class Program { static void Main(string[] a原创 2013-08-02 11:14:11 · 2788 阅读 · 5 评论 -
猜字谜小游戏编程
新建一个类using System;namespace 猜数字小游戏{ public class Play { public void play() { Random r = new Random(); int i = r.Next(0, 100);原创 2012-12-28 16:55:52 · 2852 阅读 · 0 评论 -
注销、关闭和重启计算机
源码如下:using System;using System.Windows.Forms;using System.Runtime.InteropServices;namespace 关机重启{ public partial class Form1 : Form { public Form1() {原创 2012-12-28 16:30:53 · 2057 阅读 · 0 评论 -
如何让窗体像QQ一样抖动起来
//下面是核心的代码 //首先我们来设置一下抖动的幅度 int rand = 15;//这里我设置5,大小大家自己在定 int frmx = this.Left;//获取一下窗体左上角X的坐标 int frmy = this.Top;//获取一下窗体左上角Y的坐标 //原创 2012-12-11 15:03:16 · 1356 阅读 · 0 评论 -
C#操作内存
using System;using System.Text;using System.Diagnostics;using System.Runtime.InteropServices;namespace PlantsVsZombiesTool{ publicabstractclass Helper { [DllImpo转载 2012-11-15 22:14:50 · 2131 阅读 · 1 评论 -
微软官方的SqlHelper
using System; using System.Data; using System.Xml; using System.Data.SqlClient; using System.Collections; using System.Configuration;namespace BookDAL { ///转载 2012-10-27 15:28:01 · 3207 阅读 · 2 评论 -
C# StringHelper
using System;using System.Collections.Generic;using System.Text;using System.Text.RegularExpressions;namespace DotNet.Utilities{ /// /// 字符串操作类 /// 1、GetStrArray(string str,原创 2012-10-26 00:05:29 · 2877 阅读 · 0 评论