C#编程基础——方法

简介: C#编程基础——方法

方法的声明

语法格式:

[访问修饰符] 返回类型 方法名()
{
    方法体
}

方法常用的访问修饰符为public、protected、private、internal、static、virtual等。具体的是作用说明在上一篇博客已经讲到“传送门”


返回类型——方法可以有返回值也可以没有返回值。如果有返回值,则需要说明返回值的类型。如果没有返回值,则它的返回类型可标为void,默认情况为void。


形参表——小括号内写参数,可由零个或多个用逗号分隔的形式参数组成。


方法的参数

参数的功效就是能使信息在方法中传入或传出。当声明一个方法是,包含的参数说明是形式参数(形参)。当调用一个方法时,给出的对应实际参数是实在参数(实参)。


值参数

在方法声明时不加修饰的形参就是值参数,它表明实参与形参之间按值传递。


// 此方法用来比较两个数的大小,返回最大值
public static int show(int num1,int num2)
{
     int number = num1 > num2 ? num1 : num2;  //三元表达式,如果num1大于num2则显示num1,反之则显示num2
     return number;
}

引用参数ref

如果调用一个方法,期望能够对传递给它的实际变量进行操作,按值传递是不可能实现的。所以要用ref关键字来解决此类问题。


ref关键字仅对跟它后面的参数有效,而不能应用于整个参数表。


在方法外,ref参数必须在调用之前明确赋值,在方法内,ref参数被视为以赋过初始值。


// 此方法用来比较两个数的大小,返回最大值
public static int show(int num1,int num2)
{
     int number = num1 > num2 ? num1 : num2;  //三元表达式,如果num1大于num2则显示num1,反之则显示num2
     return number;
}

其sum的值为300;


输出参数out

在参数前加out修饰符的被称为输出参数。它与ref参数相似,但是也有不同。out参数它只能用于从方法中传出值,而不能从方法调用处接受实参数据。


在方法内,out参数必须赋初值,方法外可以不赋初值。


一个方法可以返回多个值,并且类型不同。


static void Main(string[] args)
{
    int number1=10;
    int number2=20;
    int sum=AddNumber(out number1,out number2)        
}
public static int AddNumber(out int  num1, out int num2)
{
    num1 = 100;
    num2 = 200;
    return num1 + num2;
}

其sum的值为300;


ref与out的区别

ref可以把值传到方法里,又可以把值传到方法外。


在方法外,ref参数必须在调用之前明确赋值。


out可以把方法里的值传出去。


在方法内,out参数必须赋初值。


方法的重载与重写

重载:如果一个类中有两个或两个以上的方法同名,但他们的形参个数或形参类型有所不同,与返回值无关。。


重写(override):首先基类的方法用关键字virtual修饰为虚方法,再由子类用关键字override修饰与基类中虚方法有相同签名的方法,表明是对基类的虚方法的重写。


只有使用override修饰符,子类中的方法才能重写基类中的虚方法,否则就是隐藏基类的方法。

相关文章
|
4天前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
|
4天前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。
|
4天前
|
程序员 C#
C#抽象类和抽象方法详解
C#抽象类和抽象方法详解
10 0
|
4天前
|
存储 开发框架 .NET
C#中将DataTable转化成ListT的方法解析
C#中将DataTable转化成ListT的方法解析
9 0
|
4天前
|
数据采集 前端开发 数据挖掘
Fizzler库+C#:从微博抓取热点的最简单方法
本文介绍如何使用Fizzler库和C#构建微博热点信息爬虫。通过Fizzler的CSS选择器定位关键信息,提取热点标题和排名,实现微博内容的智能挖掘。示例代码展示单线程和多线程采集方法,并涉及代理IP使用。
Fizzler库+C#:从微博抓取热点的最简单方法
|
4天前
|
存储 数据采集 API
C# GetField 方法应用实例
C# GetField 方法应用实例
|
4天前
|
JSON 安全 API
C# GetMethod 方法应用实例
C# GetMethod 方法应用实例
|
4天前
|
存储 安全 网络安全
C#编程的安全性与加密技术
【4月更文挑战第21天】C#在.NET框架支持下,以其面向对象和高级特性成为安全软件开发的利器。本文探讨C#在安全加密领域的应用,包括使用System.Security.Cryptography库实现加密算法,利用SSL/TLS保障网络传输安全,进行身份验证,并强调编写安全代码的重要性。实际案例涵盖在线支付、企业应用和文件加密,展示了C#在应对安全挑战的同时,不断拓展其在该领域的潜力和未来前景。
|
4天前
|
人工智能 C# 开发者
C#编程中的图形界面设计
【4月更文挑战第21天】本文探讨了C#在GUI设计中的应用,介绍了Windows Forms、WPF和UWP等常用框架,强调了简洁界面、响应式设计和数据绑定等最佳实践。通过实际案例,展示了C#在企业应用、游戏开发和移动应用中的GUI实现。随着技术发展,C#在GUI设计的未来将趋向于跨平台、更丰富的组件和AI集成,为开发者创造更多可能性。
|
4天前
|
存储 算法 C#
C#编程与数据结构的结合
【4月更文挑战第21天】本文探讨了C#如何结合数据结构以构建高效软件,强调数据结构在C#中的重要性。C#作为面向对象的编程语言,提供内置数据结构如List、Array和Dictionary,同时也支持自定义数据结构。文章列举了C#实现数组、链表、栈、队列等基础数据结构的示例,并讨论了它们在排序、图算法和数据库访问等场景的应用。掌握C#数据结构有助于编写高性能、可维护的代码。