一点一点学C#2

关于不同的命名空间:不同的命名空间里相同的类名不产生冲突

using System;

namespace test1
{
	class test
	{
		public void func()
		{
			Console.WriteLine("in test1");
		}
	}
}

namespace test2
{
	class test
	{
		public void func()
		{
			Console.WriteLine("in test2");
		}
	}
}

class testClass
{
	public static void Main(String[] args)
	{
		test1.test aa = new test1.test();  //命名空间名.类名
		test2.test bb = new test2.test();
		
		aa.func();
		bb.func();
		
		Console.ReadLine();
	}
	
	
}


C#预处理指令:指导编译器在实际编译前开始对信息进行处理

格式:①以#开头;②只有空格可以出现在预处理指令之前,且一个指令在一行;③不以;结尾

预处理器指令 描述
#define 它用于定义一系列成为符号的字符。
#undef 它用于取消定义符号。
#if 它用于测试符号是否为真。
#else 它用于创建复合条件指令,与 #if 一起使用。
#elif 它用于创建复合条件指令。
#endif 指定一个条件指令的结束。
#line 它可以让您修改编译器的行数以及(可选地)输出错误和警告的文件名。
#error 它允许从代码的指定位置生成一个错误。
#warning 它允许从代码的指定位置生成一级警告。
#region 它可以让您在使用 Visual Studio Code Editor 的大纲特性时,指定一个可展开或折叠的代码块。
#endregion 它标识着 #region 块的结束。

#define PI    
#define val

using System;

namespace test1
{
	class test
	{
		public static void Main(String [] args)
		{
			#if(PI && val)  
			  Console.WriteLine("PI and val are defined");
		    #elif(!PI && val)
			  Console.WriteLine(" val is defined");
			#elif(!val && PI)
			  Console.WriteLine("PI is defined");
			#else
			  Console.WriteLine("PI and val are not defined");
			#endif 
			  Console.ReadKey();
		}
	}
}


C#异常处理:

异常类 描述
System.IO.IOException 处理 I/O 错误。
System.IndexOutOfRangeException 处理当方法指向超出范围的数组索引时生成的错误。
System.ArrayTypeMismatchException 处理当数组类型不匹配时生成的错误。
System.NullReferenceException 处理当依从一个空对象时生成的错误。
System.DivideByZeroException 处理当除以零时生成的错误。
System.InvalidCastException 处理在类型转换期间生成的错误。
System.OutOfMemoryException 处理空闲内存不足生成的错误。
System.StackOverflowException 处理栈溢出生成的错误。

using System;

namespace test1
{
	class test1
	{
		public static void Main(String [] args)
		{
			int[] A = new int[5] {1,2,3,4,5};
			try //将被激活的特定的异常代码块
			{
				Console.WriteLine(A[5]);
			}
			catch(IndexOutOfRangeException e) //捕获异常
			{
				Console.WriteLine("Excption caught:{0}",e);
				//throw e; //抛出异常
			}
			finally //不管异常是否抛出都会执行
			{
				Console.WriteLine(A[0]);
			}
			
			Console.ReadLine();
		}
	}
}


委托 delegate

using System;

namespace test1
{
	delegate int fun(int n);  //委托
	
	class test1
	{
		static int num = 6;
		
		public static int AddNum(int x)
		{
			num += x;
			return num;
		}
		
		public static int MultNum(int x)
		{
			num *= x;
			return num;
		}
		
		public static int getNum()
		{
			return num;
		}
		
		public static void Main(String [] args)
		{
			
			fun f1 = new fun(AddNum);
			fun f2 = new fun(MultNum);
			fun f = f1 + f2; //多播

			
			Console.WriteLine("Add:{0}",f1(2));
			Console.WriteLine("Mult:{0}",f2(2));
			Console.WriteLine("Mul:{0}",f(2));
			
			Console.ReadLine();
		}
	}
}











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值