C#是纯面向对象的,和C++有点不同,比如C#的方法声明格式如下:
[public] static 返回值类型 方法名字(参数列表) { 方法体 }
public 访问修饰符,可以省略
比C++多了个修饰符,而且都得用static修饰, 静态函数只能访问静态成员 。其它的和C++基本一致。
C#有类似于C++的引用传值,用out和ref可以实现
(1)out修饰形参的用法using System;
namespace out关键字
{
class Program
{
//在函数形参前加out关键字表示该参数也会被返回,有点类似C++的引用传值,形参可以有多个out参数
static int testOut(int num, out string str)
{
str = "success";
return num;
}
static void Main(string[] args)
{
string str;
//参数传到形参时也得加上out
int ret = testOut(12, out str);
Console.WriteLine("ret = {0}, str = {1}", ret, str);
Console.ReadKey();
}
}
}
(2)ref修饰形参的用法
using System;
namespace ref关键字
{
class Program
{
static void setMoney(ref int money)
{
money += 1000;
}
static void Main(string[] args)
{
int salary = 2000;
//使用ref时,该参数必须在方法外赋值,实参前面也得用ref修饰
setMoney(ref salary);
Console.WriteLine("salary = " + salary);
Console.ReadKey();
}
}
}
(3) params
using System;
namespace params关键字的使用
{
class Program
{
static void Main(string[] args)
{
int max = getMax(12, 45, 11, 89, 6);
Console.WriteLine("最大的数是: " + max);
Console.ReadKey();
}
//params表示参数可以传入任意个int型的数,组成数组
//params使用的时候,函数的参数列表只有一个参数,有多个参数时只能作为最后一个参数
static int getMax(params int[] array)
{
int max = 0;
foreach(var it in array)
{
if (max
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?