记住只要掌握常用的几种数据类型即可(比如Single就很少用了,要用浮点数一般就用Double,现在的计算机内存已经大到不需要你去考虑优化什么了)

比如仅仅是整形就有9种,实际上我们只需要知道int和char类型即可(很少用到byte,long,剩下的基本用不到)

  1. C# 支持 9 种整型:sbyte、byte、short、ushort、int、uint、long、ulong 和 char。整型具有以下所列的大小和取值范围:
  2. sbyte 类型表示有符号 8 位整数,其值介于 -128 和 127 之间。
  3. byte 类型表示无符号 8 位整数,其值介于 0 和 255 之间。
  4. short 类型表示有符号 16 位整数,其值介于 -32768 和 32767 之间。
  5. ushort 类型表示无符号 16 位整数,其值介于 0 和 65535 之间。
  6. int 类型表示有符号 32 位整数,其值介于 -2147483648 和 2147483647 之间。
  7. uint 类型表示无符号 32 位整数,其值介于 0 和 4294967295 之间。
  8. long 类型表示有符号 64 位整数,其值介于 -9223372036854775808 和 9223372036854775807 之间。
  9. ulong 类型表示无符号 64 位整数,其值介于 0 和 18446744073709551615 之间。
  10. char 类型表示无符号 16 位整数,其值介于 0 和 65535 之间。char 类型的可能值集与 Unicode 字符集相对应。虽然 char 的表示形式与 ushort 相同,但是可以对一种类型进行的所有计算并非都可以对另一种类型执行。

     

    不要去死记硬背每个数据的表示范围,没有意义(想知道随时可以知道,一般不会超过变量范围)

     

    所有类型都可以使用.ToString转成字符串来输出(当然如果本身就是字符串就不需要转成字符串了),可以在双引号里面加0.00表示保留两位小数,当然0.0就是表示保留一位小数

     

    所有类型都可以使用Convert.To来转到你要的格式,而且要用好C#的自动提示(这一点就是C#的高效所在,当你想要转格式的时候,只要记住Convert.To,而且To的目标也只要记住非常有限的几种)

     

    字符串的处理是重要的,常见的操作比如查找和替换,分割到数组都是需要掌握的(目前只要了解简单用法,我们后面会结合具体实例让大家用自定义的方法学会)

     

    强制转换就是在变量前面加一个括号,括号里面放强制转换成的类型(比如把double类型强制转换成int就丢失了小数点后面的东西)

     

    数组是非常重要的,至少要掌握一维数组和二维数组的定义和使用(不要学花哨的定义方法,比如定义的时候给数组元素赋初始值之类的,没有实用价值),对于比较多的元素的输出,可以放入剪贴板(除了MessageBox)

     

    可变数组List,一般不常用(例如在导入一堆用户数据的时候,我们并不知道数据的具体数量,这个时候要用可变数组)

     

    指针Point,一般不常用(例如在做一些专业的图像处理的时候,使用指针访问每个像素的RGB值能显著提高效率,新手不需要掌握)。

     

    结构体Struct,一般不常用(例如在自定义封装类的时候会用到,你可以定义一个学生的结构体,包括了学生的姓名,性别,年龄,各科成绩,使用结构体将让对象的属性更加清晰)

     

    类Class,非常重要的概念(我们在后面的课程中会结合具体实例来教学,能够真正区分是否面向对象的,是否代码可扩展的就是看编程人员能否自己组织类,掌握类,虽然做简单任务的时候写成类还麻烦,但是越往后对比越显著,使用面向对象的类的写法会越来越轻松,而使用以往VB6.0,C语言写法会越来越吃力),在这个例子中,我们只是简单区分了类和结构体在定义和赋值上的区别(是否需要new,是否会一改全改),实际上并不建议直接让结构体或者类的A=B,更加详细的说明会在后面列举。

     

    定时器(最简单的多线程方法,拖一个控件改改参数就完事了),这里我们还顺带介绍了全局变量的概念(定义在某个方法外面的是全局变量,定义在某个方法里面的是局部变量,全局变量可以随时访问)

     

    线程(自己写Thread的方法,目前我们只介绍最简单的一种方法,其实线程还有很多内容需要掌握,比如带参数的新建线程,多个子线程的传递值问题,线程的暂停,恢复,终止等等,但是还是跟前面强调的一样,真正要掌握都是要结合具体实例,大部分简单程序没必要去掌握这些)

     

    最后,要学会使用try_catch语句和if(false)来提高排除错误的效率,有一些错误并不会给出提示,需要不断的提高编程水平和经验(把没问题的都注释掉不运行,只运行可能有问题的部分,或者把中间结果输出出来,到记事本上去仔细分析跟预期的是否一致)

     

    总结:按照常规,还有很多比如枚举类型,比如委托和事件,接口,抽象,虚函数等等可以介绍,然而那些都不是必须的(也就是说你可能用了五年也用不到接口interface,除非你在一个非常专业团队,每个人的分工任务明确,比如做一个牛逼的游戏。但是实际上工控行业大部分都是一个人包揽全部活,根本谈不上封装的多么好的类,对象。你的重点往往在通信,算法,效率上,而不是在程序的结构上),而且个人认为把这些弄进来反而影响注意力。初学者应该用最快的时间掌握那些最常用的东西(本案例所列举的基本都是以后会经常用到的)。讲解概念是枯燥无味的,也不利于提高学习兴趣。从下一节开始会结合小案例把几个知识点串起来,如果你能自己动手把三五个小案例都搞定,就说明你已经入门了(本节演示的东西都要自己手敲出来,看懂不代表你真的会)。

     

    更多教学视频和资料下载,欢迎关注以下信息:

    我的优酷空间:

    http://i.youku.com/acetaohai123

     

    我的在线论坛:

    http://csrobot.gz01.bdysite.com/

     

    问题交流:

    QQ:910358960

    邮箱:acetaohai123@163.com

     

     

C#基础视频教程2 常见数据类型和属性方法的更多相关文章

  1. Java基础语法04面向对象上-类-属性-方法-可变参数-重载-递归-对象数组

    类 面向对象是一种思想,一般指将事务的属性与方法抽出总结为模板(类/class),处理事务时通过类创建/new出对象由对象的功能/方法去完成所要计算处理的事情. 面向过程:POP:以过程,步骤为主,考 ...

  2. NDK学习笔记-JNI数据类型和属性方法的访问

    JNI实现了C/C++与Java的相互访问,那么这篇文章就从C/C++访问Java开始说起 native函数说明 每个native函数,都至少有两个参数(JNIEnv *和jclass或jobject ...

  3. C#基础视频教程3.3 常见控件类型和使用方法

    前面介绍了微软的控件,也介绍了几个第三方控件,那么这些控件是如何做出来的?即便我们自己不做控件,也至少要理解控件的原理. 如果要创建一个自定义控件,首先新建一个C#下面的Windows窗体控件库   ...

  4. WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭

    在我们开发WCF项目的时候,常常会碰到一些莫名其妙的错误,有时候如果根据它的错误提示信息,一般很难定位到具体的问题所在,而由于WCF服务的特殊性,调试起来也不是那么方便,因此往往会花费不少时间来进行跟 ...

  5. JavaScript基础视频教程总结(081-090章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  6. JavaScript基础视频教程总结(071-080章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  7. JavaScript基础视频教程总结(051-060章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  8. JavaScript基础视频教程总结(001-010章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  9. JavaScript基础视频教程总结(041-050章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

随机推荐

  1. openstack newton linuxbridge 改成 ovs

    最近搭建了一个all in one 的 openstack newton 版,安装官方文档做用的是linuxbridge.已经老版玩的时候都是用的ovs,趁比较闲的时候也将N版改造一下 官方文档 ht ...

  2. FastReport.Net使用:[25]除数0处理方法

    使用系统函数IIF判断处理 1.IIF函数介绍 public static Object IIf( bool expression, Object truePart, Object falsePart ...

  3. HDU4893【线段树单点、区间更新】

    题目链接[http://acm.hdu.edu.cn/showproblem.php?pid=4893] 题意:输入n.q.表示有n个数,初始化默认这n个数都为零,有q次操作,操作种类分为三种:1.输 ...

  4. 【BZOJ 3043】 3043: IncDec Sequence (差分)

    3043: IncDec Sequence Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 589  Solved: 332 Description 给 ...

  5. PHP 笔记——会话控制

    1. Session的操作 1.1 启动 Session session_start(void):bool 1.2 注册 Session 会话变量启动后,全部被保存在全局数组$_SESSION[]中. ...

  6. PHP 笔记——String 字符串

    1. 定义 单引号括起来的字符串被原样输出. 双引号字符串中的变量被PHP解析为变量值. 2. 获取字符串长度 strlen(string $string): int 在utf-8下,汉字占3个字符, ...

  7. BZOJ1017 魔兽地图DotR (树上背包)

    一道背包的神题,用到了树上dp和背包dp,这个题的特殊性在于儿子对于父亲节点是有影响的,所以用f[i][j][k]表示第i号装备,其中用j个来合成上层装备,花费k元所能获得最大的力量值. 然后对于每一 ...

  8. Makefile-有三个非常有用的变量。分别是$@,$^,$<代表的意义

    $@ 代表目标文件,$^ 代表所有的依赖文件,$< 代表第一个依赖文件. # 这是简化后的Makefilemain:main.o mytool1.o mytool2.o gcc -o $@ $^ ...

  9. bzoj 1433: [ZJOI2009]假期的宿舍 -- 最大流

    1433: [ZJOI2009]假期的宿舍 Time Limit: 10 Sec  Memory Limit: 162 MB Description Input Output Sample Input ...

  10. Google Code Jam 2010 Round 1C Problem A. Rope Intranet

    Google Code Jam 2010 Round 1C Problem A. Rope Intranet https://code.google.com/codejam/contest/61910 ...