今天我们来分享一下VS视频中第二组第三讲内容,这个视频主要是对方法的再次深入,涉及到了out传值,ref传值等方式。
一、概念类
上一篇博客已对方法相关的概念进行了梳理,本篇不再赘述。
二、导图类
三、代码类
①、方法返回一个数组
static void Main(string[] args)
{
int[] number = new int[] { 1,2,3,4,5,6,7,8,9}; //定义number数组并赋值
int[] Sum = ArraySum(number); //调用ArrarySum方法
string[] Name = new string[] { "最小值:", "最大值:", "总和:" }; //定义Name数组并赋值
for (int i = 0; i < Sum.Length ; i++) //for循环
{
Console.WriteLine(Name[i]+Sum[i]); //在控制面板上写入内容:Name数组值+Sum[]数组值
}
Console.ReadKey();
}
public static int[] ArraySum(int[] nums)
{
int sum = 0; //声明变量
int min = int.MaxValue;
int max = int.MinValue;
for (int i = 0; i < nums.Length ; i++) //for 循环
{
min = nums[i]<min ? nums[i] : min; //如果数组数值小于最小值,那么将数组数值赋予给min变量,否则将min值赋值给min变量
max = nums[i] > max ? nums[i] : max; //如果数组数值大于最大值,那么将数组数值赋予给max变量,都在讲max值赋值给max变量
sum+= nums[i]; //变量sum=sum+nums[i]
}
int[] Sum = new int[] { min, max, sum }; //将最小值,最大值,和赋予给Sum数组
return Sum; //返回Sum数组
}
}
②、mytryparse(如果输入的是数字,则计算数字之和,如果不是数字则提示用户)
static void Main(string[] args)
{
int num;
Console.WriteLine("请输入数字"); //在控制台上写入内容
bool result = MyTryParse(Console.ReadLine(), out num); //调用MyTryParse方法,并输入方法参数
if (result) //if语句
{
num += num; //num=num+num
Console.WriteLine(num); //将num的值写入控制台
}
else //否则
{
Console.WriteLine("您输入的不是数字,程序结束"); //在控制台上输入内容
}
Console.ReadKey();
}
/// <summary>
/// 判断是否为数字
/// </summary>
/// <param name="strnumber">字符串</param>
/// <param name="number">数字</param>
/// <returns></returns>
public static bool MyTryParse(string strnumber, out int number)
{
number = 0; //此方法中有out参数,需要在方法中赋值
try //try catch 语句
{
number = int.Parse(strnumber); // 将字符串类的值转换为int变量
return true; //返回true
}
catch //如果try中出现错误,则返回false
{
return false; //返回false
}
}
}
③、out 的传参
static void Main(string[] args)
{
int number1=10; //定义变量
int number2;
int sum = AddNumber( out number1,out number2); //AddNumber的参数number1,2所采用的值是从外面的方法中传过来的
Console.WriteLine(number1); //所以此刻的number1的值为100
Console.WriteLine(sum); //而返回的总和为:120
Console.ReadKey();
}
//out修饰方法修饰参数了,那么在方法外面可以不给这个参数赋值,但是在方法里面必须给这个out修饰符的参数赋予初值
//另外,参数加out,是把这个方法中的参数的值传到方法外面去了。
//返回多个值,并且类型不同
public static int AddNumber( out int num1,out int num2)
{
num1 = 100; //定义num1为100
num2 = 200;
return num1 + 20; //返回100+20
}
④、用方法实现字符串的分割
static void Main(string[] args)
{
string[] str = { "路飞", "乔巴", "乌索普", "娜美" }; //定义字符串数组并赋值
string str1 = FenGe(str); //调用FenGe方法,并将方法的返回值赋予给字符串变量
Console.WriteLine(str1); //如何遍历的进行字符串数组的相加?通过for循环,让数组转换为字符串
Console.ReadKey();
}
public static string FenGe(string[] str)
{
string str1=""; //定义字符串变量
for (int i = 0; i < str.Length - 1; i++) //for 循环,因为最后一个名称后面没有|符号,所以这里的循环长度要减一
{
str1 += str[i] + "|"; //str1=str1+str[i]+|
}
return str1+str[str.Length -1]; //返回数组str1的内容以及数组中的最后一个姓名
}
}
四、拓展
VS代码格式化插件(等号自动对齐、注释自动对齐)
http://www.cnblogs.com/stevensfollower/p/4392618.html