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 ...
随机推荐
- Hbase region 某个regionserver挂掉后的处理
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwoAAACdCAMAAAAjbX91AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK
- VMWare虚拟机系统网络配置
- Ubuntu之网络配置
一.配置大概分三类:通过配置文件配置.通过命令配置.通过图形化的网络连接菜单配置. 拨号无线等的没条件实验,不涉及. 主要文件:/etc/network/interfaces,这里是IP.网关.掩码等 ...
- Unity3d 调用C++的DLL
原地址:http://www.cnblogs.com/alongu3d/archive/2013/04/20/3031904.html Unity 3D 调用DLL的方法 本文转载:渡蓝的博客园 ht ...
- Bash Promot
http://www.askapache.com/linux/bash-power-prompt.html 强大的Bash Promt命令 http://bbs.51cto.com/thread-11 ...
- [dp]POJ2559 && HDOJ1506 Largest Rectangle in a Histogram
题意 给n个条形的高度, 问能放的最大矩形面积 分析: 从左到右 从右到左 各搞一遍 分别记录 L[i]记录列(从前往后)标 第几列开始 可以往后放高度为a[i]的矩形 R[i]记录列(从 ...
- 李洪强漫谈iOS开发[C语言-022]-算术运算符
- AVPicture、AVFrame和AVPacket
http://blog.csdn.net/ym012/article/details/6540065 从定义上可知,AVPicture是AVFrame的一个子集,他们都是数据流在编解过程中用来保存数据 ...
- Android 在AlertDialog里添加布局控件
android里很多时候需要在弹出的AlertDialog里有自己的控件,填写信息,比如弹出一个登陆对话框 那么首先你就要创建这么一个布局的inputphonenum.xml文件了 <?xml ...
- Formatting is Specified but argument is not IFormattable
private void DeviceSetText(TextBox textBox, string text) { //处理text的显示值 ") //小数位后保留2位 { //小数点后保 ...