认识C#

认识C#

1、NET概述与C#应用

.NET是Microsoft .NET的简称,是基于window平台的一种技术。它包含了能在.NETFramework平台运行的所有编程语音。 .NET Framework 是微软(Microsoft)为开发应用程序创建的一个富有革命性的新平台,在这个平台环境中,可以开发出运行在window上的几乎所有应用程序。简单来说

.NET Framework 是一个创建、部署、运行应用程序的多语言多平台环境,它包含了一个庞大的代码库,各种能够运行在.NET Framework 平台上的语言都可以共享这个代码库。

C#是一种全新的语言,在设计它的时候,微软博采众长,将C、C++、Java等多种开发语言的优点集于一身,它是专为.NET开发设计的编程语言,是微软为其下一代互联网霸主地位打造的,是Microsoft.NET平台运行的主流语言。

C#提出了纯粹的面向对象概念,并在语言特性中展现的淋漓尽致,C#还通过引用类型,值类型和接口类型的概念形成了同一的类型系统。

Visual Studio发展历史如下

发布时间开发工具版本支持最高.NET Framework版本
1998年6月Visual Studio 6.0不支持
2002年2月Visual Studio .NET1.0
2003年4月Visual Studio 20031.1
2005年11月Visual Studio 20052.0
2007年11月Visual Studio 20083.5
2010年4月Visual Studio 20104.0
2012年8月Visual Studio 20124.5
2013年10月Visual Studio 20134.5.2
2014年11月Visual Studio 20154.6
2015年7月Visual Studio 2015 RTM6.0

2、第一个C#的创建

对.NET Framework、C#和Visual Studio有了初步认识后,下面就让我们来了解一下C#程序的庐山真面目把。

首先启动 Visual Studio 2012 选择“开始”—“所有程序”—“Microsoft Visual Studio 2012”—“Visual Studio 2012”选项

2.1、新建项目

在Visual Studio 菜单栏中选择“文件”—“新建”—“项目” 选项,弹出“新建项目”对话框,如图
在这里插入图片描述
选择控制台应用,在名称文本框中输入“HelloWorld”

为项目选择一个保存的位置,如D:\。单击“确定”按钮后,就创建了一个C#代码模板 如图:

在这里插入图片描述

后面再生成可执行文件,最后开始运行。

3、认识C#程序

现在让我们把注意力集中再Program.cs文件上。在解决方案资源管理器中双击Program.cs可以打开文件。代码如示例:

using System;

namespace ConsoleApp5
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

这语言跟Java没什么区别。

4、C#的变量和常量

C#中的数据类型如下图:

常用数据类型JavaC#举例
整型intint年龄
浮点型floatfloat成绩
双精度型doubledouble圆周率
字符串型stringstring姓名
布尔型booleanbool是否是少数名族

C#中布尔型的关键字与Java不同,使用bool C#中字符串型的关键字首字母是小写的。

4.1、C#中的变量

C#中的变量声明方式与Java是相同的。使用西门所介绍的方式。

C#中的变量声明方式使用的语法为

数据类型 变量名称;

总结变量命名规则

1、以字母、数字、" _ " 组成,除此之外不能包含其他任意字符。

2、只能以字母和 " _ " 开头。

3、不能使用C#中的关键字,不能包含任意特殊字符。

4、使用驼峰命名法命名,即第一个单词首字母小写,其他单词首字母大写。

4.2、C#的常量

用于在程序中一旦设定就不允许被修改的值,

语法:

const 数据类型 常量名 = 值;

需要使用const关键字修饰。

如何使用:用于程序中被经常引用的值、用于程序中具有特定含义的值。

5、Console类

5.1、C#中的Console类
5.1.1、C#向控制台输出

有三种方法:

Console.WriteLine();  
Console.WriteLine(要输出的值); 
Console.WriteLine("格式字符串",变量列表);  

第三中方式中,WriteLine()的参数由两部分组成:格式字符串和变量列表。在格式字符串中,依次使用{0}、{1}、{2}···代表要输出的变量,{0}这些表示占位符,将变量依次排列在变量列表中,{0}表示变量列表第一个变量,{1}表示变量列表的第二个变量,以此类推。

5.2C#向控制台输入

语法:Console.ReadLine();

该语法只是用于往控制台输入字符串类型,但是需要输入其他类型时就需要类型转换了:

5.2.1、类型转换

1、隐式:自动转换

​ 在类中当一个数据类型比另一个大时(包含),就可以自动转换,例如

int b = 1;
long a = b;

2、强转

有两种:

1、数据类型.Parse(String);

这种类型只是用于string类型转换为其他类型,不接受其他数据类型作为参数。

2、Convert.To数据类型(任意数据类型)

Convert类可以在各种基本类型之间执行数据类型的互相转换。Convert类为每种类型转换都提供了一个对应的方法,如下表所示:

6、C#的结构类型

1、顺序结构

就是程序按照顺序,自上而下每一句代码都会执行。

2、选择结构

与Java结构中相同,只有满足某个条件才会执行该代码块,否则不执行。

2.1、if结构

语法:

if(条件表达式)
{
	//代码块
}
2.2、if-else结构

语法:

if(条件表达式)
{
	//代码块1
}
else
{
    //代码块2
}
2.3、多重if结构

语法:

if(条件表达式1)
{
	//代码块1
}
else if(条件表达式2)
{
    //代码块2
}
else 
{
    //代码块3
}
2.4、嵌套if结构

语法:

if(条件表达式1)
{
     if(条件表达式2)
    {
        //代码块1
    }
    else
    {
        //代码块2
    }
}
else
{
    //代码块3
}

if结构书写代码规范

1、为了使if结构更加清晰,应该把每个if或else包含的语句都用大括号括起来

2、相匹配的一队if和else应该左对齐

3、内层的if结构相对于外层的if结构要有一定的缩进

2.5、switch选择结构

C#的switch结构与Java略有不同,C#要求每个case和default语句中都必须要有break语句,除非两个case中间没有其他语句,那么前一个case可以不包括break,C#中的判断更加灵活,判断的表达式或变量可以是字符串类型,语法如下:

			Java										C#
switch(表达式)									switch(表达式)									
{											  {
    case 常量表达式1:								case 常量表达式1:
    //语句1;										  //语句1;
    	break;/*可以没有*/								 break;//必须有
     case 常量表达式2:								case 常量表达式2:
    //语句2;										  //语句2;
    	break;/*可以没有*/								 break;//必须有
    ······											······
    default:										default:
    //语句n;										  //语句n;
    	break;/*可以没有*/								 break;//必须有
}											  }

注意:

switch 结构中case子句的摆放是没有顺序的,可以把default子句放在最前面,但要注意任何两个case语句不能具有相同的值。case子句中的值必须是常量表达式,不允许使用变量。

3、循环结构

与Java结构中相同,只有满足条件才会循环。

3.1、while循环

语法:

while(条件表达式)        //先判断条件是否满足,如果条件成立就执行循环体
{
	//代码块
}			
3.2、do-while循环

语法:

do                        //先执行再判断条件,至少执行一次
{
    //代码块
}while(条件表达式);	
3.3、for循环

语法:

for(表达式1;表达式2,表达式3)
{
    //代码块
}	

与Java中的相同,可以去我之前写的博客参考一下。

3.4、foreach循环

语法:

foreach(元素类型 元素变量名 in 数组)
{
    //代码块
}

在语法中,元素类型值的就是数据类型,“元素”是一个只读变量。

each是每个的意思,foreach循环结构用于遍历一个数据集合的每一项。

注意:foreach结构不能改变数组中各元素的值;如果需要改变数组中元素的值,应该使用for循环。

循环的区别:

while循环:先判断条件是否成立,若条件成立,则执行循环条件。

do—while循环:循环体先执行一次,再判断条件是否成立。

for循环:必须使用整型变量做循环变量计算器。

foreach循环:用于遍历给定数组的所有值。

与java里的相同,在C#中的跳转语句也是一样的。

break

除了在switch结构中使用break退出整个case语句外,也可以用于while,do—while循环等,break语句将程序跳出当前循环结构,并继续执行该循环体后面的语句。

continue

与break语句类似,continue的作用与Java是相同的即跳出本次循环进入下一轮循环。

7、深入了解string类

7.1、常用的字符串处理方法
方法说明
string Trim()去掉字符串前后两端多余的空格
bool Equals(string value)比较一个字符串与另一个字符串value的值是否相等,若两者相等,返回true否则 返回false
int IndexOf(string value)获取value在当前字符串中出现的首个位置
int lastIndexOf(string value)获取指定的字符串value在当前字符串中最后一个匹配的位置
string Substring(int sta)从指定位置sta开始检索长度为length的字符串
string ToUpper()获得字符串大写的形式
string ToLower()获得字符串的小写形式
string []Split(char separator)用指定的分隔符separator分割字符串,返回分割后字符串的数组
int Compare(string A,strin g B)比较两个字符串的大小关系,返回一个整数。若前者大,返回值大于0,反正则小于0,相等就返回0

注意:比较“==”和“Equals()”方法:

运算符""和“Equals()”应用于两个字符串,所判断的内容是有区别的,简单来说”“判断的是两个字符串对象在内存中的首地址,即判断是否是同一个对象。

“Equals()”方法判断的是两个字符串对象的值是否相等。

连接和分割字符串

两种方法 Join()和Split()方法。

//输入提示
Console.WriteLine("请输入一个字符串");
string input=Console.Readine();

//以空格作为分隔符分割字符串
a=input.Split(' ');

//将分割后的字符串使用下划线连接
b=input.Join("-",input);
7.2、Format格式化

C#的string类提供的一个Format()方法对输出的字符串进行格式化,Format()方法允许把字符串,数字或布尔类型变量插到格式化字符中。语法如下

String myString =String.Format("格式化字符串",参数列表);

{索引 [,对齐] [: 格式字符串]}

例如:

String myString =String.Format("{0} 乘以 {1} 等于 {2}",1,2,1*2);
//输出1*2=2;

ing input=Console.Readine();

//以空格作为分隔符分割字符串
a=input.Split(’ ');

//将分割后的字符串使用下划线连接
b=input.Join("-",input);




#### 7.2、Format格式化

C#的string类提供的一个Format()方法对输出的字符串进行格式化,Format()方法允许把字符串,数字或布尔类型变量插到格式化字符中。语法如下

```c#
String myString =String.Format("格式化字符串",参数列表);

{索引 [,对齐] [: 格式字符串]}

例如:

String myString =String.Format("{0} 乘以 {1} 等于 {2}",1,2,1*2);
//输出1*2=2;

就是改了点代码,其他的都差不多。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值