您的位置:首页 > 编程语言 > C#

C# 初学01

2014-07-13 18:24 190 查看
一、数据类型:

1、 decimal 关键字指示 128 位数据类型。
与浮点型相比,decimal 类型具有更高的精度和更小的范围,这使它适合于财务和货币计算。

如果希望实数被视为 decimal 类型,请使用后缀 m 或 M,例如:

decimal myMoney = 300.5m;

2、基本类型:sbyte,short,int long为有符号(有正有负),byte,ushort,uint,ulong为无符号(非负)

二、专门的转换函数(将输入在Console.Read()上的东西转换为需要的数据类型)

1、Parse()

例: int a=int.Parse(str1); //用Parse将接收到的str2转换为所需的整型int

如果字符串为空,则抛出ArgumentNullException异常;

如果字符串内容不是数字,则抛出FormatException异常;

如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常;

2、TryParse

例:int.TryParse(str2,out a1); //检验str1->int是否转型成功,成功的话输出a1,不成功不输出

相对于Parse()不会返回错误,正确返回true输出a1,不正确返回false输出0

3、Convert类(System)

例:Convert.ToInt32(str3); //同上

4、ToString

例:Console.WriteLine(str4.ToString()); //全部转化为String型输出

三、空接合:

例:str1 fileName=null;

fillName= fileName??"deault.txt"; //当fileName为空时就输出”default.txt“,非空的话就输出fileName对应的值

Console.WriteLine(fileName);

Console.Read();

四、数组

list比array实用,具有多种方法以供调用

五、方法&参数

System.Console.Write("name");

//命名空间 类 方法 参数

using添加命名空间

1、ref ref 关键字使参数按引用传递

例:Swap(ref a,ref b){} //方法Swap

static void Swap(rep int a,rep int b){} //调用Swap方法,这里用rep传值,所以a,b都是共享的,而不是说只改变方法中的形参

out 类似ref

ref&out 的key:

a、ref传进去的参数必须在调用前初始化,out不必,即:int i;Method( ref i );//语法错误Method( out i );//通过

且在 ... 值类型与引用类型之间的转换过程称为装箱与拆箱;

b、ref传进去的参数在函数内部可以直接使用,而out不可:public void Method(ref int i){ int j=i;//通过}public void Method(out int i){ int j=i;//语法错误;

c、ref传进去的参数在函数内部可以不被修改,但out必须在离开函数体前进行赋值;

d、系统对ref的限制是更少一些的。out虽然不要求在调用前一定要初始化,但是其值在函数内部是不可见的,也就是不能使用通过out传进来的值,并且一定要在

函数内赋一个值。或者说函数承担初始化这个变量的责任

2、泛型

例:static void Swap<T>(ref T a,ref T b){ //在方法后加了一个<T>然后用T作为参数的类型

T t;

t=a;a=b;b=t;

}

Swap<string>(ref a,ref b); //在调用的时候在<>里添加入数据类型,这样就免去了多种数据需要多次重写方法的悲剧

3、可变参数:

例:static int Sum(params int[] nums){ //params使用后Sum()的方法支持多个参数

return nums.Sum();

}

Console.WriteLine(Sum(1,2,3,4,5,6));

4、递归:

例:斐波那契数列

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace fib

{

class Program

{

static long Fib(long n) {

if (n == 1 || n == 2)

{

return 1;

}

else {

return Fib(n-1)+Fib(n-2);

}
}

static void Main(string[] args)

{

for (int i = 1; i < 10; i++) {

Console.WriteLine(Fib(i));

}

Console.Read();

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: