using System;
namespace ConsoleApplication2
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
int va=10;
Console.WriteLine("{0}",va);
showFoubles(ref va);
Console.WriteLine("{0}",va);
Console.WriteLine("{0}",va);
showFouble(out va);
Console.WriteLine("{0}",va);
int sum=sumVals(9,1,3,4,5,5,6);
Console.WriteLine("{0}",sum);
//Console.WriteLine("{0}",ret());
char[] trimChars={' ','e','s'};
string userResponse=Console.ReadLine();
userResponse=userResponse.ToLower();
userResponse=userResponse.Trim(trimChars);
userResponse=userResponse.Trim();
Console.WriteLine("{0}",userResponse);
if(userResponse=="y")
{
//act on response
}
}
static int sumVals(int si,params int[] pa)
{
int sum=0;
foreach(int val in pa)
{
sum+=val;
}
sum=sum-si;
return sum;
}
//把未赋值的变量用作ref参数是非法的,但可以把未赋值的变量用作out参数。
//另外,在函数使用out参数时,该参数必须被看作是还未赋值的参数。
//调用代码可以把已赋值的变量用作out参数,在函数调用中,存储在该变量中的值会在函数执行时丢失。
static void showFouble(out int val)
{
val=5;
val=val*2;
Console.WriteLine("{0}",val);
}
static void showFoubles(ref int val)
{
val=val*2;
Console.WriteLine("{0}",val);
}
}
}