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 ...
随机推荐
- Asp.net MVC 视图之公用代码
一.公共模板 转自:http://www.cnblogs.com/kissdodog/archive/2013/01/07/2848881.html 1.@RenderBody() 在网站公用部分通过 ...
- POJ2222+暴力搜索
一共2^15个状态 比较简单 /* 2^15 states */ #include<stdio.h> #include<string.h> #include<stdlib ...
- HDU 1400 (POJ 2411 ZOJ 1100)Mondriaan's Dream(DP + 状态压缩)
Mondriaan's Dream Problem Description Squares and rectangles fascinated the famous Dutch painter Pie ...
- iCloud 包括文稿与数据、日历、提醒事项、 通讯录、备忘录、Safari书签
iCloud 能够为用户在设备间同步数据和在服务器上保存数据.当前 iCloud 包括文稿与数据.日历.提醒事项. 通讯录.备忘录.Safari书签.阅读列表.iCloud Tabs.iBooks书签 ...
- linux c/c++ GDB教程详解
学习使用了GDB一段时间后,发现它真的好强大!好用! GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在U ...
- 转:Web service是什么?
作者: 阮一峰 我认为,下一代互联网软件将建立在Web service(也就是"云")的基础上. 我把学习笔记和学习心得,放到网志上,欢迎指正. 今天先写一个最基本的问题,Web ...
- windows ハンドル
windows句柄 这篇文章是我在学习的时候为了以后忘记所以把当时的理解记录下来.一定有不正确的地方,所以仅供参考. 我们初学VC++是经常遇到一些我们在标准C++中没有的数据类型,如句柄,消息. ...
- 被IDEA的打包功能打败了:dubbo服务端打包注意事项
下午在搭建一个基于dubbo和spring的服务端项目.结果打包成jar后各种报错. 起初是因为idea的机制,导致META-INF下自己的Mainfest.mf总是莫名被覆盖,于是报找不到主函数.后 ...
- -_-#【减少 DOM 访问】缓存已经访问过的元素
Minimize DOM Access Cache references to accessed elements 选择器查询是开销很大的方法.所以,使用选择器的次数应该越少越好,并且尽可能缓存选中的 ...
- Azure Site Recovery 通过一键式流程将虚拟机故障转移至 Azure虚拟机
Ruturaj Dhekane 云 + Enterprise 项目经理 现在,AzureSite Recovery可以通过其"灾难恢复至 Azure"功能保护您的工作负荷,并 ...