欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C#入门经典(第五版)笔记(二)第4-6章 流程控制、变量、函数

程序员文章站 2022-06-11 21:34:59
...

目录

四.流程控制

bool的赋值习惯

布尔运算符(&&、||、^)

布尔赋值运算符(&=、|=、^=)-新鲜

三元运算符-新鲜

条件语句

switch

常量

循环语句

跳出循环的几种方法:

4.6练习答案

五.变量的更多内容

枚举、结构、数组

字符串

5.5练习答案

六.函数

作用域

委托(delegate)

6.8练习答案


四.流程控制

bool的赋值习惯

bool a=(val>0);

布尔运算符(&&、||、^)

C#入门经典(第五版)笔记(二)第4-6章 流程控制、变量、函数

布尔赋值运算符(&=、|=、^=)-新鲜

C#入门经典(第五版)笔记(二)第4-6章 流程控制、变量、函数

三元运算符-新鲜

<test> ? <resulttrue> : <resultfalse>

example:
string resultString = (a<10) ? "小于10" : "大于等于10";

条件语句

switch

switch语句用来根据测试值有条件的执行代码(很多比较会用)。

与C++不同:需要break;否则非法。

带上default分支结尾。

常量

const int a;

循环语句

跳出循环的几种方法:

break

continue

goto

return

4.6练习答案

 

五.变量的更多内容

枚举、结构、数组

int[,]

int[][]

字符串

int = <string>.Length

<string>.ToUpper()

<string>.Trim()——去空格或者是某些字符

5.5练习答案

1.a.c

2.enum color :byteshort{

gezhongyanse = number;gezhongyanse;

}

4.不行。分号;引号;第六个元素不存在

5.string.Replace()

        private static void exersice5_5() {
            Console.WriteLine("Please input a string");
            string str = Console.ReadLine();
            string str1 = "";
            int length = str.Length - 1;
            for (int i = str.Length - 1; i >= 0; i--)
            {
                str1 += str.ElementAt(i);//str[i]

            }
            Console.WriteLine(str1);
            Console.ReadKey();
        }
        private static void exersice5_6(){
            Console.WriteLine("Please input a string");
            string str = Console.ReadLine();
            //str.Replace("no","yes");
            for (int i = 0; i < str.Length; i++) {
                if (str.ElementAt(i) == 'n') {
                    if (str.ElementAt(i + 1) == 'o') {
                        str = str.Remove(i, 2);
                        str = str.Insert(i,"yes");
                        i = i + 2;
                    }
                }
            }
            Console.WriteLine(str);
            Console.ReadKey();
        }
        private static void exersice5_7()
        {
            Console.WriteLine("Please input a string");
            string str = Console.ReadLine();
            string[] str1 = str.Split(' ');
            string str2="";
            //str="\""+str.Replace(" "," \" \"")+"\"";
            for (int i = 0; i < str1.Length; i++) {
                str1[i] = str1[i].Insert(0,"\"");
                str1[i] = str1[i].Insert(str1[i].Length, "\"");
                str2 += str1[i];
            }
            Console.WriteLine(str2);
            Console.ReadKey();
        }

六.函数

参数数组 params<type>[] <name>

引用指定参数 ref

输出参数 out

结构函数-结构体的函数

函数重载:函数同名、参数(签名)不同

作用域

例如:在for循环中进行初始化的值在for循环退出时就会丢失。
内存空间相关:给变量赋值之后才会占用一块内存空间。所以for循环退出就丢失的原因是内存空间在for循环中指定。

委托(delegate)

相当于给定若干函数,像使用函数一样使用委托,委托的参数是委托内的函数,委托的输出是指定了某个函数的变量,使用时只需要将这个变量当作函数名,后面正常用括号括住所需要的参数即可。

C#入门经典(第五版)笔记(二)第4-6章 流程控制、变量、函数

6.8练习答案

1.(1)未返回变量。(2)params~在最后面,第二个writeline,foreach大括号。

4.&5.

struct order{
    -
    -
    -
    public double AllCount(){//4.
        return unitCount*unitCost;
    }
    public string Output(){//5.
        return "<"+unitCount+"> <"+itemName+"> items at $<"+unitCost+
               "> each,total cost $<"+AllCount()+">" ;//非string值需要加.ToString()
    }
}