Visual Studio C#个人笔记

Visual Studio C#第一章,第一个c#程序

要应用其他的类需要

类名.方法()

创建和运行c#步骤

新建项目(project)

生成可执行文件(build)

运行(run)

 

 

Const声明常量,只能够赋值一次

快捷键

F5启动程序

Ctrl+F5可以防止程序关闭的启动

Debug

生成文件可以debug

    classProgram

    Program可以改

设置断点p24

Ctrl+f5启动(不调试)

F5开始调试

Shift+f5停止调试

F9设置删除断点

F10逐过程执行        java,f6,单步执行

F11逐语句                    java,f5单步跳入

 

命名空间

namespace exam1HelloWorld

 

小知识

java的包是物理存在的

cSharp是包虚拟存在的

引用其他命名空间要用using

namespace com.java.util就是cSharp导包

bool布尔

字符串string

返回值为String

Int.parse(console.Readline());//转换int类型

单行//

多行/*

*/

文档注释///

#region命名折叠

Double.parse…….

{0}占位符

string小写javaString大写

变量-可以修改的量

常量-不可修改的量(const)

 

 

 

C#命名规则

英文,数字

开头英文

不能使用关键字

见名知意

命名规范1:单词首字母大写--(pascal命名法)

命名规范2:单词首字母小写—驼峰命名法Camel命名法(骆驼)

 

Console 控制台类  静态类

Console.Write()输出后不换行

Console.WriteLine()输出后换行

Console.ReadLine;输入方式

占位符输出

            Console.WriteLine("我的课程名称是" + course);//+输出

            Console.WriteLine("我的课程名称是:{0}", course);//用占位符输出

 

多行注释

        ///

        ///输出学生姓名和年龄

        ///

 

#region运用


记得打#endregion要不报错

Int要转型

 String转intà Student.age= int.Parse(Console.ReadLine());

加法程序

  int num1,num2;

            Console.WriteLine("请输入一个数");

            num1 = int.Parse(Console.ReadLine());

            Console.WriteLine("请输入第二个数"); 

            num2 = int.Parse(Console.ReadLine());

 

            Console.WriteLine(num1+num2);

            Console.ReadLine();

做程序时的思想

1-     需求分析

2-     分类

 

第二章,数组和循环

Java和c数组写法一样int
IfJava和c一样

Switch不一样

Java

Switch(int,String,byte,long,char){

Case常量表达式:

Breack//可以不要

}

C#

Break必须要

 

:冒号

;分号

小知识

三大银行

工商 ICBC

建设 CBC

农业 ABC

生成à生成解决方案,就可以保存和找错误

C#中属性和方法都用大写

 

 

 

 

C#一维数组

数据类型[]变量名称=new数据类型[5];  //后面加上字面量的写法

New数据类型[3]=

string[] arr1;       对

string arr1[] 错

如何初始化?

Int[]arr=new int[5]{0,1,2,3,4};//java不可以,c#可以 [5]数量必须和后面的数字一致

Int[]arr=new int []{0,1,2,3,4}; //java 可以 c#可以

Int[]arr={0,1,2,3,4};

数组名:Length

 

Int类型数组

8

8

7

狗类Dogdogs =new Dog[5];

Foreach

Foreach循环用于数组和集合

Foreach (元素类型,变量名,集合或者数组名)

Foreach(Student stu in students){
stu.ShowInfo();//显示学生对象信息

}

Foreach结构不能改变数组各元素的值

While先判断条件和表达式是否可以,如果可以成立就执行不可以就不执行

Do-while先执行一次再判断

For 循环必须使用整型变量做循环计算机(int=0;i>?;i++),

Foreach循环用于数组的所有值,比for简单

 

流程控制

单分支  if

多分枝结构试验ifelse

多重支分多重结构  {

if-else-if

Switch 必须使用break,break可以替换成continue,case当中没有内容则可以不适应break}

嵌套选择-任意嵌套

循环{

For                         While                               Dowhile

Foreach:foreach(数据类型变量名称 in 数组)

}

跳转语句:Breakcontinu

跳出方法            Return               使方法结束,任何代码都不再执行(包括for)

 

类和对象

定义类:属性,方法

值传递           基本书记类型,进行方法传参,使用的是值传递(copy)

引用传递           引用数据类型默认使用引用传递的方式

使用ref可以让基本数据类型使用引用方式传递

1.方法定义:publicvoid swap(ref int num1,ref int num2)

                                使用基本数据类型进行引用传递需要在方法定义+ref关键词

2.调用swap(refnum1);

如果定义了ref传参必须也加ref

冒泡排序

For (i=0;i

{

For(j=0;j

}}比较j和j+1位置的元素

如果前大后小就交换

 

第三章,使用属性升级MyBank

封装字段p79

Ctrl+R,ctrl+E 将类中的字段,属性绑在一起

面向对象三大特性之一

避免非法数据的访问

保证数据完整性

为了保证数据的安全性,所以使用封装

就比如你在网上买东西,东西都要包装好,不能透露自己的隐私

publicstringName

        {

            get{ return _name; }

            set{ _name = value; }

        }

        privateint _age;

        publicint Age

        {

            get{ return _age; }

            set { _age = value;}

        }

Get只读

Set只写

 

以上是封装好的属性

然后就可以拿来用了

Student student = newStudent();

           student.Name = "傻逼";

           student.Age = -20;

 

Students=newStudent( ){age=-20}

利用this调用private

privatestring _name;

        publicint _age = 19;

        publicstring _cardID = "440303200012271312";

        publicvoid SetName(string _name)

        {

            this._name= _name;//如果不加this就赋值不到了

        }

This:当前实例

 

类的成员        手机例子

字段  类中的数据  sim

属性累的状态  颜色型号

方法  类的行为   显示短信播放音乐等

小知识

Public 访问级别最高,

Private 访问级别最低,只有类内部可以使用

图案

转头:字段

扳手:属性

快捷键

prop  :publicint Myproperty{get; set;}

Get只读

Set只写

Process is terminated due toStackOverflowException.有可能是set和get出现问题(变量命不同之类的)

Return 可以结束方法

 


通过对象初始化器可以方便为属性赋值

Student stunewtudent(){name=……….}

 

Ref 修饰参数,(引用)

基本数据类型默认使用值传递

引用数据类型默认使用引用传递,传递的是对象

Swap(ref num1,ref num2)

  publicvoid count(refintnum1, refintnum2)

        这样就可也以用引用的方式传递了

如果不使用ref改的数据只是副本

 

第四章,深入c# string类

小知识

C#和java的substring不一样

ToLower ToUpper

大小写

==判断地址

Equals判断值

可以使用MSDN自学 cn(可能会碰到问题)

http代表互联网(https代表加密)

ftp文件传输协议

fills本地文件

Equals()比较是否相等

输入字母变成小写 p101示例一

               choice= choice.Trim().ToLower();  //将英文字母强制转为小写,trim()方法去掉空格

获得一个字符的位置substring,indexof

  Int indexof(char/string  value)//语法

String substring(int startIndex ,int length)

// 语法startindex()开始的坐标),length(截取的长度)

int position = email.IndexOf("@");  //获得@的位置

  if (position>0)   //其中的positon可以找到 @的位置

            {

   name = email.Substring(0, position);//得到邮箱中的有户名,利用了substring方法

Substring(2,position)的意思是从第2个字符后面开始录取知道碰到@的位置,括号内的数字不得小于0

String.Empty的作用

比较空,(检查字符串是不是空的)

String use=String.Empty//空字符串

””不一样,这个分配了存储空间

String.Empty不分配存储空间

性能高到低à

Name.Length==0;

Name==Sting.Empty  //一般使用这个

Name==”” 

每一种方法结果都一样

Compare比较

Compare(string strA,string strB)

比较字符串ab返回布尔类型

 

LastIndexOf()

split()方法和join()连接或切割字符串

 

 

 

 

format的使用 p106

1索引[,2对齐][:3格式字符串]

10开始,与变量列表对应

2设置显示的宽度和对齐的方式(可选项) 一个带符号的整数,整数的大小表示宽度,正数像右边对齐,负数为左对齐

3包含格式的说明浮(可选项)

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

例如:StringmyString =String .Format(“{0}乘以{1}等于{2}”,2,3,2*3);

示例:String.Format(“{0:C3}”,2000)

字符说明  (还有更多)                                               结果  

C                   货币                                                   $200.000

D                  十进制                                                 200

F                   小数点后的位数固定                   2000.000

N                  用逗号(,)隔开的数字                   250,000

P                   百分比计数法                                  29.768

X                   十六进制格式                                  C

 

靠左对齐,靠右对齐

 

数值类型与字符串之间的转换P109

强制转换:sum=(int)score+bonus;

字符串转为数值型

Int.Parse(Console.ReadLine());

字符串转为整型代码

Int.Parse(string);

将字符串转为浮点型代码

Float.Parse(string);

将字符串转为双精度浮点型的代码

Double.Parse(string);

 

数值转换为字符串

Int age=18;

Stringmyage=age.ToString();

使用Convert类进行转换

Xxx表示某种类型  convertjava没有

任意类型à其他类型

Conver.Toxxx(objectvalue)

Xxx可以是int double float string

方法                                                                                   说明

Convert.ToInt32()                                                         转为整型(int)

Convert.ToSingle()                                                          转换为单精度浮点型(float)

Convert.ToDouble()                                                       转换为双精度浮点型(double)

Convert.ToString()                                                          转换为字符串类型(string)

 

 

显示转换就是强制性转换

Double int需要强制转换

Double sum=12.1

Sum=int(?)

使用parse(进行转换)

xxx.Parse(string)

字符串à其他类型

Stringint

“123”

“abc123”X

中文123”X

ToString可以转换

小串有用的代码

while (choice.Equals("yes"));             //判断用户输入的字符串是否yes

?.? = int.Parse(Console.ReadLine());//输入int

 

 


你可能感兴趣的:(笔记)