C#基础知识学习手记1
这篇随笔主要用来记录我在C#学习过程做的笔记,算作是一门课程中的小知识点吧。
1. 变量和表达式
1.1 如何在输出带有引号(英文双引号、英文单引号)以反及斜杠(“\”)等字符?
(1)使用转义序列
例如,要求输出:He's a "dog"! 这里面包含了英文字符单引号后双引号,利用转义序列 “ \' ” 和 “ \" ” 对它们进行处理:
Console.WriteLine("He\'s a \"dog\"!");
当然也可以用“\”加上述字符的Unicode值来实现,例如:“ ' ”的Unicode值为0x0027,“ " ”的Unicode值为0x0022
Console.WriteLine("He\u0027s a \u0022dog\u0022!");
该语句与上面的语句等价。
再例如,要求输出一个路径名:C:\xyz\a,按照上面转义字符的用法,“\”的Unicode值为0x005C
Console.WriteLine("C:\\xyz\\a");
Console.WriteLine("C:\u005Cxyz\u005Ca");
两个语句等价。
(2)使用“@”字符
对于上面使用转义序列输出特殊字符,语句的可读性很差,这里使用@字符简化语句,如上面的路径名:
Console.WriteLine(@"C:\xyz\a");
但是在@后接的输出字符串中对双引号有限制:如:输出“ "Dog" ”,利用@字符会失效:
Console.WriteLine(@" "Dog" ");
该语句在编译时会出现错误。并且在@后接的输出字符串中就不能在用转移序列了,即下面这条语句也是编译不通过的
Console.WriteLine(@" \"Dog\" ");
但是@字符对输出单引号是没有影响的,比如
Console.WriteLine(@" He's name is X. ");
1.2 char型变量做运算?
两个char型变量能否做加减运算?结果又是什么呢?
例如:
char a = 'A';
char b = 'B';
Console.WriteLine(a + b);
上述代码是正确的,输出结果为:
char型变量实际上存储的是数字(上面例子中‘a’的ASCII码值为65,‘B’为66),把两个char型变量相加(实际为两个ASCII码相加),也是得到一个数字(结果类型为int型)。同理,两个char型变量也是按照如此规则做减法、乘法和除法运算。
1.3 运算符“++”和“--”所在位置对变量存储值的影响?
例如:
int val1 = , val2 = ;
int val3, val4;
val3 = val1++;
val4 = ++val2;
Console.WriteLine("val1 = {0}, val2 = {1}", val1, val2);
Console.WriteLine("val3 = {0}, val4 = {1}", val3, val4);
输出结果为:
val1 = 3, val2 = 6
val3 = 2, val2 = 6
从结果可以看出,运算符“++”总是将变量的值增加了1,但是它的位置决定了其发挥作用的时间。在变量左边时,它是在变量参与其他运算之前将变量值加1,在变量右边时,它是在变量参与其他运算之后才将变量值加1.同理,“--”的作用也是如此。
C#基础知识学习手记1的更多相关文章
- GCC基础知识学习
GCC基础知识学习 一.GCC编译选项解析 常用编译选项 命令格式:gcc [选项] [文件名] -E:仅执行编译预处理: -S:将C代码转换为汇编代码: -c:仅执行编译操作,不进行连接操作: -o ...
- (转)Linux基础知识学习
Linux基础知识学习 原文:http://blog.csdn.net/ye_wei_yang/article/details/52777499 一.Linux的磁盘分区及目录 Linux的配置是通过 ...
- Objective-c基础知识学习笔记
Objective-c基础知识学习笔记(一) 一直有记录笔记的习惯.但非常久没分享一些东西了,正好上半年開始学习IOS了,如今有空写点.因开发须要,公司特意为我们配置了几台新MAC.还让我们自学了2周 ...
- AXAJ基础知识学习
AXAJ基础知识学习 博客首页 Ajax简介 ajxa全称是Asynchronous Javascript And XML ,就是异步的JS 和XML 通过Ajax可以再浏览器中向服务器发送异步请求, ...
- Vue2基础知识学习
Vue2基础知识学习 01.初识 new Vue({ el: '#root', //用于指定当前Vue实例为哪个容器服务,值通常为css选择器符 data () { return { } } }); ...
- C#基础知识学习
C#基础知识整理 学习地址:http://blog.csdn.net/column/details/csarp.html
- 韩天峰博客 php基础知识学习记录
http://rango.swoole.com 写好PHP代码真的不容易,给大家几个建议: 慎用全局变量,全局变量不好管理的,会导致你的代码依赖于全局变量,而耦合度太高. 一定不要复制粘贴代码,可重用 ...
- 〖前端开发〗HTML/CSS基础知识学习笔记
经过一天的学习,把慕课网的HTML/CSS基础知识学完了,笔记整理: 1. 文件结构: HTML文件的固定结构: <html> <head>...</head> & ...
- Linq的简介和基础知识学习
学习LINQ之前,我们要知道LINQ是干什么,解决什么问题的,怎样学习? 一.LINQ简介 1.什么是LINQ? 什么是LINQ?LINQ中文翻译为语言集成查询(Language Integrated ...
随机推荐
- Linux中crond服务与crontab用法
需要写个在Linux下定时更新系统的脚本,man crondtab 不甚详细,现将网络上的介绍列举如下: crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序使用cr ...
- ASP.NET UpdatePanel实现点击按钮无刷新且执行js脚本
[一篮饭特稀原创,转载请注明出自http://www.cnblogs.com/wanghafan/p/3770779.html] *.aspx: <asp:ScriptManager ID=& ...
- HLS协议实现
http://blog.csdn.net/wutong_login/article/details/9673255
- Show username instead of "System Account" in SharePoint 2010
Problems: When I load my local SharePoint site, the account always show as "System Account" ...
- Android自定义属性时format选项可以取用的值
1. reference:参考某一资源ID. (1)属性定义: <declare-styleable name="名称"> <attr format=" ...
- simplified build configuration
http://blogs.msdn.com/b/saraford/archive/2005/08/16/452411.aspx Did you know… That you can hide the ...
- CSS属性一览
CSS 属性 CSS 属性组: 动画 背景 边框和轮廓 盒(框) 颜色 内容分页媒体 定位 可伸缩框 字体 生成内容 网格 超链接 行框 列表 外边距 Marquee 多列 内边距 分页媒体 定位 打 ...
- hadoop2.2编程: SequenceFileWritDemo
import java.io.IOException; import java.net.URI; import org.apache.hadoop.fs.FileSystem; import org. ...
- wcf 多个节点名出错
无法加载协定为“ServiceReference1.xxxxxx”的终结点配置部分,因为找到了该协定的多个终结点配置.请按名称指示首选的终结点配置部分. 原因是config节点中多了endpoint相 ...
- udhcpc和udhcpd移植
实现DHCP自动获取IP地址 前提:系统已经实现DNS(即使用ping www.baidu.com测试时能ping通). 1. 在内核中添加以下选项: Networking ---> [*] ...