C#基础视频教程2 常见数据类型和属性方法
记住只要掌握常用的几种数据类型即可(比如Single就很少用了,要用浮点数一般就用Double,现在的计算机内存已经大到不需要你去考虑优化什么了)
比如仅仅是整形就有9种,实际上我们只需要知道int和char类型即可(很少用到byte,long,剩下的基本用不到)
- C# 支持 9 种整型:sbyte、byte、short、ushort、int、uint、long、ulong 和 char。整型具有以下所列的大小和取值范围:
- sbyte 类型表示有符号 8 位整数,其值介于 -128 和 127 之间。
- byte 类型表示无符号 8 位整数,其值介于 0 和 255 之间。
- short 类型表示有符号 16 位整数,其值介于 -32768 和 32767 之间。
- ushort 类型表示无符号 16 位整数,其值介于 0 和 65535 之间。
- int 类型表示有符号 32 位整数,其值介于 -2147483648 和 2147483647 之间。
- uint 类型表示无符号 32 位整数,其值介于 0 和 4294967295 之间。
- long 类型表示有符号 64 位整数,其值介于 -9223372036854775808 和 9223372036854775807 之间。
- ulong 类型表示无符号 64 位整数,其值介于 0 和 18446744073709551615 之间。
- 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
C#基础视频教程2 常见数据类型和属性方法的更多相关文章
- Java基础语法04面向对象上-类-属性-方法-可变参数-重载-递归-对象数组
类 面向对象是一种思想,一般指将事务的属性与方法抽出总结为模板(类/class),处理事务时通过类创建/new出对象由对象的功能/方法去完成所要计算处理的事情. 面向过程:POP:以过程,步骤为主,考 ...
- NDK学习笔记-JNI数据类型和属性方法的访问
JNI实现了C/C++与Java的相互访问,那么这篇文章就从C/C++访问Java开始说起 native函数说明 每个native函数,都至少有两个参数(JNIEnv *和jclass或jobject ...
- C#基础视频教程3.3 常见控件类型和使用方法
前面介绍了微软的控件,也介绍了几个第三方控件,那么这些控件是如何做出来的?即便我们自己不做控件,也至少要理解控件的原理. 如果要创建一个自定义控件,首先新建一个C#下面的Windows窗体控件库 ...
- WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭
在我们开发WCF项目的时候,常常会碰到一些莫名其妙的错误,有时候如果根据它的错误提示信息,一般很难定位到具体的问题所在,而由于WCF服务的特殊性,调试起来也不是那么方便,因此往往会花费不少时间来进行跟 ...
- JavaScript基础视频教程总结(081-090章)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- JavaScript基础视频教程总结(071-080章)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- JavaScript基础视频教程总结(051-060章)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- JavaScript基础视频教程总结(001-010章)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- JavaScript基础视频教程总结(041-050章)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
随机推荐
- django celery(QQ蓝鲸)
官方:http://www.celeryproject.org 文档:http://docs.jinkan.org/docs/celery/index.html FAQ:http://docs.cel ...
- 网络流—最大流(Edmond-Karp算法)
一.含义 从源点到经过的所有路径的最终到达汇点的所有流量和 例如: 在这个图中求源点1,到汇点4的最大流.答案为50,其中1->2->4为20 :1->4为20 :1->2-& ...
- java中代码块的认知
在以往面试题中,出现过很多次关于代码块执行顺序的题目,目前可算是搞清楚执行顺序了.看以下代码: package com.itcast.code; public class BlockTest { st ...
- php-streams扩展学习
一. streams是干嘛的: 用于统一文件.网络.数据压缩等类文件操作方式,并为这些类文件操作提供一组通用的函数接口. 二. stream是具有流式行为的资源对象,这个对象有一个包装类 例如: pr ...
- 一个iframe注入漏洞,也是微软的 Application["error"] 漏洞
最近学校进行安全等级评估,有人给我打电话,说我之前写的一个网站存在iframe注入漏洞,页面是error页面.我于是用netsparker扫描了自己的网站,果然发现error页面存在漏洞,我写网站的时 ...
- HDU 4666 Hyperspace (2013多校7 1001题 最远曼哈顿距离)
Hyperspace Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Tota ...
- Use a microcontroller to design a boost converter
Boost converters, like other switchers, have traditionally received their control signals from a ded ...
- 三款工作流引擎比较:WWF、netBPM 和 ccflow
下面将对目前比较主流的三款工作流进行介绍和比较,然后通过三款流程引擎分别设计一个较典型的流程来给大家分别演示这三款创建流程的过程.这三款工作流程引擎分别是 Windows Workflow Found ...
- Integrate SharePoint 2013 with Team Foundation Server 2012
Now that SharePoint 2013 is out I want to make sure that I can integrate SharePoint 2013 with Team F ...
- sourceinsight 工程和源码不在同一个盘符下
建立sourceinsight的时候,si工程可以和项目源码不在同一个盘下面,即si工程在D盘下,而阅读的源码在E盘下. 方法步骤如下: 下看一下目录结构: Y:\work\Hi3521\Hi3521 ...