函数的重载:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void TryFunc(double x)
{
Console.WriteLine("this is double/n");
}
static void TryFunc(int y)
{
Console.WriteLine("this is int");
}
static void Main(string[] args)
{
TryFunc(2.5);
TryFunc(9);
}
}
}
C#根据输入的类型智能地选择函数。
使用委托:
using System;
using System.Collections.Generic;
using System.Text;
//委托就是使一个委托等于一个函数,便可像使用函数一样使用这个委托。如果需要,还可以令这个委托委托另一个函数,实现另一个功能!
namespace ConsoleApplication1
{
class Program
{
delegate void showDelegage(int i);
static void ShowBig(int p)
{
Console.WriteLine("this is show Big :::{0}:::/n", p);
}
static void ShowSmall(int p)
{
Console.WriteLine("this is show small :::{0}:::/n", p);
}
static void Main(string[] args)
{
showDelegage ShowNum;
int input = Convert.ToInt32( Console.ReadLine() ); //C#中数值的一种输入方式
//如果INPUT大于1000,就把SHOWBIG委托给SHOWNUM,否则把SHOWSMALL委托给SHOWNUM
if (input > 1000) ShowNum = new showDelegage(ShowBig);
else ShowNum = new showDelegage(ShowSmall);
Console.WriteLine("just input = {0}/n", input);
ShowNum(input);
}
}
}
委托:
using System;
using System.Collections.Generic;
using System.Text;
//用委托SHOWNUM模拟CONSOLE.READLINE()函数
namespace ConsoleApplication1
{
class Program
{
delegate string showDelegage();
static void Main(string[] args)
{
showDelegage ShowNum;
ShowNum = new showDelegage(Console.ReadLine);
string input = ShowNum();
Console.WriteLine("this is input {0}/n", input);
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
//结构函数,在结构体中定义的函数,方便对结构体的操作,亦便于理解
//本程序在结构体中定义printorder来打印菜单
namespace ConsoleApplication1
{
class Program
{
struct order
{
public string itemName;
public int unitCount;
public double unitCost;
public void printorder() //CARE!这里应该用PUBLIC,用STATIC会出错!
{
Console.WriteLine("::::::::::::ORDER::::::::::::::/n");
Console.WriteLine("itemName ==={0}===/nunitCount {1}/nunitCost {2}/n", itemName, unitCount, unitCost);
}
}
static void Main(string[] args)
{
order orderOfManio;
orderOfManio.itemName = "OrderOfManio";
orderOfManio.unitCost = 889;
orderOfManio.unitCount = 778;
orderOfManio.printorder();
}
}
}