C#学习
基础知识
.net两种交互模式:
-
C/S:客户机Client/服务器Server模式
-
B/S:浏览器Browser/服务器模式Server模式
注释三种方法
1. //
2. /* */
3. ///自动跳出文档注释
快捷键
- 快速对齐:
Ctrl+k+d
,若有语法错误,则无效(VB默认自动对齐,C#则没有) - 弹出智能提示:
Ctrl+j
折叠代码
#region 空一格写注释,折叠后会显示此注释。也可以不写
//里面可以写注释,也可以写代码
Console.WriteLine(6);
#endregion
(VB是End Region,而且#region后必须写注释)
其他
- string类型可以存空值,char不行
char c = ''; //语法错误
string s = ""; //可以存空值
-
C#定义类型后不赋值是不能使用的,会报错。VB可以,变量为默认值
-
C#中有些类型有相同名称,仅开头字母大小写不懂,如String和string
区别在于大写的String是整个.net共有的类,VB也可以用
小写string是C#独有,是一个关键字。
编译时两者都会要给映射到System.String,所以用起来没有区别,编辑器建议用string
- C#的
+
运算符两边只要有一边是字符串,那么就是连接字符串。VB的+
一边数值一边字符串会报错,用&
可以 - C#占位符,用
{ }
表示,里面是序号,从0开始。后面按顺序跟字符串。前面加$可以内插,如下图
string name = "张三";
int age = 26;
Console.WriteLine("名字叫{0},年龄是{1}。", name, age);
Console.WriteLine($"名字叫{name},年龄是{age}。");
如果要输出“{”,用两个{{表示,具体参考转义符
经测试VB也可以用
转义符
\'单引号
\"双引号
\\ 表示一个反斜杠
\0 空字符
\a 感叹号
\b 退格
\f 换页
\n 新行
\r 回车
\t 水平tab
\v 垂直tab
这些转义实际上仍是一个字符,比如\b是算一个字符而不是两个。所以char c= "/b" 不会报错
- C#字符串存在转义符,该字符串以文本形式写入到文本文件中,转义符仍有效,如
string text = "你好\n再见";
System.IO.File.WriteAllText(@"C:\Users\Albert\Desktop\777.txt", text);
那么输出
有些教程说要写\r\n才能换行,我这里测试\n就可以换行
但是vbnet无效
- 如果不想转义,在字符串前加 @ 。如文件路径包含大量反斜杠,每次用\替换很麻烦,不如直接加 @ 让程序不要转义
@还可以令字符串按原格式输出,例如下图文字是两行,那么输出也是一样的
Console.WriteLine(@"你好
再见");
输出如下:
你好
再见
关于VB.net
vb.net的转义符与C#不同,不是用\表示
部分转义如下
"" ==> "
}} ==> }
{{ ==> {
而 ',~,$,%,^,\ 等传统C语法的需要转义的字符都可以直接输出。
对于回车等特殊字符VB.NET使用vbCrLf等常量:
成员 | 常量 | 等效 | 说明 |
---|---|---|---|
CrLf | vbCrLf | Chr(13) + Chr(10) | 回车/换行组合符 |
Cr | vbCr | Chr(13) | 回车符 |
Lf | vbLf | Chr(10) | 换行符 |
NewLine | vbNewLine | Chr(13) + Chr(10) | 新行符 |
最新标准.net类库中全新的、C#和VB.net通用的、能自动适应环境变化的方法:Environment.NewLine
例:
Dim str1 as String = "你" & Environment.NewLine & "好"
- C#中/表示除法,若两边都是整数,则返回的也是整数,相当于整除
如10/3=3
但有一边是小数,返回的就是小数
如10.0/3=3.33333333
- 而vbnet中/不管两边什么类型都是返回小数
如10/3=3.33333333
要实现整除效果应该用\
如10\3=3
类型转换
- 对于兼容的类型,比如int和double都是数字类型,C#只有部分类型可以自动隐式转换,如intàdouble(小转大)。若doubleàint(大转小)会报错,需要手动显示转换,如age = (int)money;
- 不兼容的类型,如stringàdouble,可使用Convert函数,如左图
也可用double.Parse()函数,如右图
而vbnet基本都能自动转换,手动转换如Cdate,CDbl,Val等等,也可用Convert函数,X.Prase()
运算符
一元运算符:++ --
二元运算符:+-*/%
一元运算优先级高于二元运算,如9 * ++a,先算++a
标签:VB,string,C#,转义,学习,Chr,net From: https://www.cnblogs.com/alcro/p/17710800.html