首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第2章 C#程序设计基础

C#每条语句以 “;” 字符结尾。 2. C#提供了两种注释方法:单行注释和 多行注释 。 3. C#值类型包括简单类型、 结构类型 和枚举类型。 4....C#中提供了三种程序控制语句:顺序语句、 选择语句 和 循环语句 。 7. 面向对象三大特性为:封装性、继承性和 多态性 。 8....如果要将某个表达式显示转换为特定数据类型,需要在该表达式前面加上被转换类型说明符,并且该类型说明符需要用括号括起来。 7. 简述C#中DateTime关键字应用基本形式和表示日期时间范围。...简述C#中this关键字特点含义。 this关键字仅限于在类方法和构造函数中使用。...使用扩展方法需要注意以下几个事项: ① 声明扩展方法类必须是静态类,即使用“static”关键字来创建。 ② 扩展方法属于静态方法,即使用“static”关键字来声明。

1.8K40

少用 string.Format

如果你使用C# 6.0 及其以上版本的话我建议你使用新增 内插字符串 这个功能。这个功能可以更好帮助开发人员设置字符串格式。...开发人员必须对生成字符串进行测试和验证,才能发现其中出现问题; 替换操作是根据格式字符串中序号来完成,但是编译器并不会验证格式字符串待替换序号数量和参数个数是否相等,因此在程序运行时就会报错,提示参数个数待替换序号数量不匹配...Console.WriteLine($"我有 {number.ToString()} 辆车"); Tip:字符串内插操作所生成代码会调用一个参数为 params 对象数组格式化方法。...这里有两点非常关键内容需要注意,内插字符串本身会解析成普通字符串,如果用它来创建 SQL 语句是不会生成参数化查询因此这种方式产生 SQL 并不安全。...如果需要在内插字符串中使用流程控制语句的话,就必须把流程控制逻辑写在方法里,让后在内插字符串中调用这个方法。

1K20
您找到你想要的搜索结果了吗?
是的
没有找到

.NET Core中妙用unsafe减少gc提升字符串处理性能

一、前言 昨天在群里讨论怎么样效率把一个字符串进行反转,一般情况我们都知道,只要对String对象进行操作, 那么就会生成新String对象,比如"1"+"2" 这样操作会生成新String对象...(); Array.Reverse(arr); return new string(arr); } 这种方式,只是通过将数组反转方式重新排列了字符顺序,最终还是要重新生成新String...如果因需要想在c#中使用指针,那么unsafe便是一个通道(当然在使用前,在项目属性生成选项中,选择“允许不安全代码”)。...如果没有 fixed 语句,则指向可移动托管变量指针作用很小,因为垃圾回收可能不可预知地重定位变量。C# 编译器只允许在 fixed 语句中分配指向托管变量指针。...我们是不是可以通过这样方式,来达到使用指针相同目地?请继续关注下一篇文章。 同时宣传一下我新博客,当然博客园我也会更新。  http://www.dotnet.ren

1.7K10

C#枚举器(译)

我们将以创建一个简单化List Box作为开始,它将包含一个8字符数组和一个整型,这个整型用于记录数组中已经添加了多少字符串。构造函数将对数组进行初始化并使用传递进来参数填充它。...) 和 一个返回数组字符串个数方法。...Galt 实现 IEnumerator 接口 注意到ListBoxEnumerator不仅需要实现IEnumerator接口,对于ListBox类它也需要一些特别了解;特别是,它必须可以获得ListBox字符数组并且遍历其所包含字符串...最糟是,enumerator返回值并不是类型安全。记得Current属性返回一个Object对象;它仅仅简单假设你所返回foreach循环所期望相符合。...如果你现在停下来思考一下,这些也是之前代码所做事。它遍历了自己foreach循环,并且产生出它所找到每个string字符串。 感谢阅读,希望这篇文章能给你带来帮助

1.8K40

C#基本概念列举说明建议收藏

类和方法 C#要求每个程序必须且只能有一个“Main”方法。“Main”方法必须放在某一个类中。“Main”方法是应用程序入口。 4. 语句 C#语句必须用分号“;”结束。...可以在一行中书写多条语句,也可以将一条语句书写在多行上。 5. 大括号 在C#中,括号“{”和“}”是一种范围标志,是组织代码一种方式,用于标识应用程序中逻辑上有紧密联系一段代码开始结束。...空格有两种作用,一种是语法要求,必须遵守,一种是为使语句不至于太拥挤。例如: int i = 4; 2. 字母大小写 大写“A”小写“a”对C#来说,是两个不同字符。 3....变量赋值 C#规定,变量必须赋值后才能引用。为变量赋值使用赋值号“=”。...指数形式,也叫科学记数,由底数加大写E或小写e加指数组成,例如,123e5或123E5都表示123×105。

1K10

C#历来语法特性总结

使用async和await,可以创建包含异步处理Lambda表达式和语句C# 5)。...Invoke(this, EventArgs.Empty); } 内插字符串 从C# 6开始,可以使用在字符串中插入表达式,使代码可读性更高也降低了字符串拼接出错概率。...如果在内插字符串中包含大括号,使用两个大括号("{{"或""}}")。如果内插表达式使用条件运算符,需要将其放在括号内。从C# 8起,可以使用"..."...元组是值类型,是包含多个公共字段以表示数据成员轻量级数据结构,无法为其定义方法。C# 7.3后元组支持==!=。...global using 指令可以出现在任何源代码文件开头,但添加在非全局using之前。 global修饰符可以static修饰符一起使用,也可以应用于using别名指令。

33740

C Sharp(一)

语句 C#语句必须以分号作为结束标志。 块是由成对大括号包围 0 条或多条语句序列,在语法上,相当于一条语句。...在语法上只需要一条语句,而一条语句无法表达时,就需要使用块 某些特定程序结构只能使用块 虽然简单语句以号结尾,但块后面不跟分号(这样会多解析一条空语句) 字符串插值 新版 C# 可以使用字符串插值,类似...C# 数组这一特征 Objective-C 相同, JavaScript 特征不同。 然而,另外一些类型可以包含不同类型数据项,这些类型中数据项个体称为 成员。...1 种 Unicode 字符类型: char 1 种布尔类型: bool Objective-C 或 JavaScript 不同,C#数值类型不具有布尔含义。...3 种非简单类型: string: Unicode 字符数组 object: 所有其他类型基类 dynamic 注意: 在 C# 程序中,应使用小写 C# 类型名称而不是大写 .Net 类型名称

1.5K30

格式设置规则

C# 引入版本 Visual Studio 2017 版本 15.3 选项值 true - 需要将 finally 语句置于右大括号后新行。...false - 需要将 finally 语句置于右大括号所在同一行。...C# 引入版本 Visual Studio 2017 版本 15.3 选项值 true - 需要将对象初始值设定项成员置于单独行false - 需要将对象初始值设定项成员置于同一行 代码示例:...C# 引入版本 Visual Studio 2017 版本 15.3 选项值 true - 在控制流语句(如 for 循环)中关键字后放置空格字符false - 删除控制流语句(如 for 循环)...C# 选项值 ignore - 不删除声明语句中多余空格字符false - 删除声明语句中多余空格字符 代码示例: // csharp_space_around_declaration_statements

1.8K20

C#操作Sql Server数据库以及MD5加密存储

Convert来将字节型数组转化为字符串,这个字符串即为加密后密码。...password = Convert.ToBase64String(s); //将字节类型数组转换为字符串,得到加密后密码 MD5是具有不可逆性,一旦加密之后就无法再进行解密。...在账号登录时我们需要判断输入密码是否正确,而MD5加密是不可逆 也就意味着它无法解密,所以我们需要将用户输入密码再加密一次然后再与数据库中已加密存储密码进行比对,如果比对结果一致则登陆成功。...C#操作Sql Server几个对象: 首先要加上命名空间using System.Data.SqlClient; 我用到对象其实也就是这几个,先拿用户登录界面这部分来举例子吧: ①SqlConnection...下面这段代码表示以sa身份sql server建立连接,并指定到Library这个数据库。

1.8K20

【译】C# 11 特性早期预览

#4935 C# 支持两种类型内插字符串:逐字和非逐字内插字符串(分别为 $@"" 和 $"")。..."; C# 11 预览:列表模式 阅读更多关于提案列表模式中这种变化。 新列表模式允许您匹配列表和数组。您可以匹配元素,并且可以选择包含匹配零个或多个元素切片模式。...NRT 可帮助您在设计时了解 null 是否可能。参数空值检查可以更轻松地在运行时检查空值是否已传递给您代码。当您代码可能未启用 NRT 外部代码交互时,这一点尤其重要。...参数上语法参数上显式可空类型相结合,编译器将发出警告: void WarnCase( string? name!!...早期测试人员发现这个顺序很有帮助,我们认为这种差异很少会对代码产生不利影响。但在从显式空检查转移到新语法之前,请检查它是否不会影响您程序。

1.6K60

Visual Basic快速入门

打开Visuall Studio,创建一个VB项目,然后就会出现如下图所示代码。 ? 来解释一下HelloWorld代码。首先第一行是导入类库,和C#、javaimport语句是一个道理。...End Sub End Module 基本数据类型 由于VB和C#都是运行在CLR上语言,所以其实它们基本类型是一样,都有有/无符号各种长度整数、单精度双精度浮点数、布尔类型、字符字符串等类型...运算符 用途 And 运算符,不短路求值 Or 或运算符,不短路求值 Not 非运算符 Xor 异或运算符 AndAlso 运算符,短路求值 OrElse 或运算符,短路求值 IsTrue 是否为真...C#类非常相似,同样有字段、属性等概念。...,希望对大家能有所帮助

2.5K30

C#7.0 新增功能

弃元是一个名为 _(下划线字符只写变量,可向单个变量赋予要放弃所有值。 弃元类似于未赋值变量;不可在代码中使用弃元(赋值语句除外)。...在要将某赋值值显式标识为弃元时用作独立标识符。 以下示例定义了 QueryCityDataForYears 方法,它返回一个包含两个不同年份城市数据六元组。...为了可以编写这些构造,C# 7.0 引入了 throw 表达式。这使得编写更多基于表达式代码变得更容易。 不需要其他语句来进行错误检查。 从 C# 7.0 开始,throw 可以用作表达式和语句。...这允许在以前不支持上下文中引发异常。 这些方法包括: 条件运算符。 下例使用 throw 表达式在向方法传递空字符数组时引发 ArgumentException。...在以下示例中,如果分配给 Name 属性字符串为 null,则将 throw 表达式 null 合并运算符结合使用以引发异常。

1.3K10

☀️ 学会编程入门必备 C# 最基础知识介绍(六)——接口、命名空间、预处理指令、正则表达式、异常处理、文件输入输出

语法 C#异常类 异常处理 创建用户自定义异常 抛出对象 C# 文件输入输出⛄️ C# I/O 类 FileStream 类 C# 高级文件操作 总结???? 前言????...且在一行上,只有空白字符可以出现在预处理器指令之前。预处理器指令不是语句,所以它们不以分号(;)结束。 C# 编译器没有一个单独预处理器,但是,指令被处理时就像是有一个单独预处理器一样。...下表列出了转义字符字符字符一组字符任何一个字符匹配。 下表列出了字符类: 分组构造 分组构造描述了正则表达式子表达式,通常用于捕获输入字符字符串。...使用这些块,把核心程序语句错误处理语句分离开。 这些错误处理块是使用 try、catch 和 finally 关键字实现。...C# 最基础知识介绍(三)——变量、常量、运算符、判断、循环 ☀️ 学会编程入门必备 C# 最基础知识介绍(四)——数组字符串、结构体、枚举、类 ☀️ 学会编程入门必备 C# 最基础知识介绍(五

1.3K30

☀️ 学会编程入门必备 C# 最基础知识介绍(四)——数组字符串、结构体、枚举、类

数组(Array)???? 声明数组 初始化数组 赋值给数组 访问数组元素 使用 foreach 循环 C# 数组细节 C# 字符串(String)????...前面几篇博客介绍了C#一些基础知识,包括基本语法、数据类型、运算符等。在本篇博客就来介绍在C#中最常用几种数据类型——数组字符串、结构体、枚举、类 ---- 数组(Array)????...也可以使用一个 foreach 语句来遍历数组。...下面列出了 C# 程序员必须清楚一些数组相关重要概念: 概念 描述 多维数组 C# 支持多维数组。多维数组最简单形式是二维数组。 交错数组 C# 支持交错数组,即数组数组。...在 C#结构传统 C 或 C++ 中结构不同。C#结构有以下特点: 结构可带有方法、字段、索引、属性、运算符方法和事件。 结构可定义构造函数,但不能定义析构函数。

1.7K20

Java程序设计(Java9版):第4章 简单复合类型

在VB语言中有foreach循环语句,方便对数据集合遍历,C#语言也继承了foreach循环语句。...Java 5增加了for循环功能扩展,实现了foreach循环功能,格式如下: for( 元素类型 元素变量名:数组名或集合名){ 循环体语句; } 例4-4:比较普通for循环foreach...jshell> String[] str={"Java","C#","PHP","C++"};//字符数组 str ==> String[4] { "Java", "C#", "PHP", "C++"...C语言是通过字符数组来存储字符串,并以“\0”作为字符串结束标志;对字符操作也是通过字符数组字符指针来实现;C语言有字符串常量概念,字符串常量用一对双引号(”“)括起来,但是没有字符串变量概念...语句表达式是枚举类型。

1.1K100

使用C#开发数据库应用程序

string boolean bool 注意:C#中布尔类型关键字java不同,使用bool,C#字符串数据类型是小写。...1-3.C#中注释 C#行注释和块注释Java是完全相同,分别使用//和/*..*/,但文档注释java中略有不同,使用"///",且文档注释每一行都以"///"开头。...",变量列表); 注意:第一种和第二种方式用法Java中System.out.println();方法用法相同.第三种方式可是C#新东西....2-3:C#数组 a.C#中一维数组 (1)声明 语法: 数据类型[] 数组名; 例如:int[] arrya; (2)指定数组大小 例如:int[] array; array...b.常见错误 注意:C#允许在初始化同时指定数组长度,但是数组初始值数目必须数组长度完全一样.

5.8K30
领券