C# 方法返回值的个数

方法返回值类型总的来说分为值类型,引用类型,Void

有些方法显示的标出返回值

public int Add(int a,int b)
{return a+b;
}

有些方法隐式的返回返回值,我们可以将上面的方法改改:

public void Add(int a,int b,out int sum)
{sum=a+b;
}

怎么样,改过之后的写法,是不是有“此处无声胜有声”的效果

为了便于区分我们可以将上面两种方法称为:显示返回方法,隐式返回方法

如果是显示的返回返回值的方法,只能够返回 ”一个” 返回值,这”一个”返回值,

可能是一个集合,一个string对象,一个自定义类型的对象。

如下代码所示,返回一个自定义类型的对象:

public class Person
{public string Name{get;set;}public int Age{get;set;}
} public Person GetPerson(string name,int age)
{return new Person{Name=name,Age=age};
}

除了利用集合,封装的对象,ref,out关键字可以让一个方法达到返回多个值的目的,

.NET 4.0 中添加了一个新类型 Tuple,它代表一个有序的N元组,就是一个有序的数据组合, 如下代码演示:

var date=new Tuple.Create<int,int,int>(DateTime.Now.Year,DateTime.Now.Month,DateTime.Now.Day);

如何访问Tuple对象的数据成员呢,如下代码所示:

Console.WriteLine(date.Item1);
Console.WriteLine(date.Item2);
Console.WriteLine(date.Item3);
输出:
2015
8
7

关于详细的Tuple类说明,大家可以去看

[你必须知道的.NET]第三十二回,,深入.NET 4.0之,Tuple一二

ok,以上是记忆性的总结,俗话说好记性不如烂笔头。

转载于:https://www.cnblogs.com/MrALei/p/4709879.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/375663.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java】Java里String 的equals和==

Java里面有对象和对象的引用的概念&#xff0c;在String方面&#xff0c;比较的是引用&#xff0c;equals比较的是对象的具体值。 String s1 new String("abc");String s2 new String("abc");System.out.println(s1 s2);System.out.println(s1.equals(s…

marked override, but does not override

检查这个函数对应的基类函数 看是否是虚函数看函数参数是否对应

STL中的lower_bound和upper_bound的理解

STL迭代器表述范围的时候&#xff0c;习惯用[a, b)&#xff0c;所以lower_bound表示的是第一个不小于给定元素的位置 upper_bound表示的是第一个大于给定元素的位置。 譬如&#xff0c;值val在容器内的时候&#xff0c;从lower_bound到 upper_bound表示的就是整个容器中与val相…

because the following virtual functions are pure within

构建了包含纯虚函数的对象 包含纯虚函数的类不能实例化为对象

C ~ 链式队列与循环队列

此处的链式与循环队列可以应用于BFS和树的层序遍历。下面是对其结构和基本操作的程序描述。 1、循环队列 解决循环队列的队空和队满的方法&#xff1a; [1].增加一个参数count&#xff0c;用来记录数组中当前元素的个数&#xff1b; [2].为避免队空和满两状态混淆&#xff0c;少…

Hexo之部署github

最近开始学NodeJs&#xff0c;准备也在github上弄个一个Hexo博客练练过程中遇到一些问题总结一下。希望对遇到同样问题的同学能有个帮助少走一些弯路。 - 其实用windows或mac客户端直接去同步很顺利没遇到什么问题。主要是在使用Hexo deploy命令的时候。 我的配置文件deploy部分…

You have unstaged changes.

执行git rebase出错 原因&#xff1a;有未提交的修改 解决&#xff1a;执行git stash暂时保存修改&#xff0c;rebase后&#xff0c;执行git stash pop

[bootstrap] 打造一个简单的系统模板(1) 左侧折叠菜单

1. 前言 最近需要做一个后台管理系统&#xff0c;我打算使用bootstrap弄一个好看的后台模板。网上的好多模板我觉的css和js有点重。 于是就打算完全依靠bootstrap搭建一个属于自己的模板。 首先从左侧的折叠菜单开始。看图。 2. CSS 代码 以下是自定义的css代码&#xff0c;由于…

将gcc/g++链接到指定版本

安装指定版本&#xff1a; sudo apt-get install gcc-4.8 sudo apt-get install g-4.8以上命令默认安装的为4.8.5版本&#xff0c;支持c11 建立软连接 cd /usr/bin如果已经装有gcc或者g&#xff0c;需要先移除原先的软连接sudo rm gcc sudo rm g建立新的软连接 sudo ln -s g…

23种设计模式的优点与缺点概况

设计模式 标签&#xff08;空格分隔&#xff09;&#xff1a; 设计模式优点 应用场景 整理自《设计模式之禅》 单例模式 优点&#xff1a; 只有一个实例&#xff0c;减少了内存开支&#xff1b;可以避免对系统资源的多重占用&#xff1b;可以在系统中设置全局的访问点&#xff…

How Many Shortest Path

zoj2760:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode2760 题意&#xff1a;给你一张有向带权图&#xff0c;然后问你最短路径有多少条。 题解&#xff1a;这一题用到了网络流&#xff0c;一开始&#xff0c;我想到用找到一条最短路&#xff0c;然后删除这条…

pat00-自测5. Shuffling Machine (20)

00-自测5. Shuffling Machine (20) 时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, YueShuffling is a procedure used to randomize a deck of playing cards. Because standard shuffling techniques are seen as weak, and in order to avoid …

E488: Trailing characters:

情景&#xff1a; 对vim进行配置&#xff0c;配置完成后进行保存&#xff0c;配置完成后打开其他文件时报错。原因&#xff1a; vim 配置文件中保存不合乎语法的语句&#xff0c;报错时如下&#xff1a; #显示行号 set number#字符导致的错误&#xff0c;改成"即可。 vi…

移动web开发总结

1、-webkit-tap-highlight-color:rgba(255,255,255,0)可以同时屏蔽ios和android下点击元素时出现的阴影。 备注&#xff1a;transparent的属性值在android下无效。2、-webkit-appearance:none可以同时屏蔽输入框怪异的内阴影。3,/*去除android浏览器下a/input等元素获得焦点时高…

人物角色群体攻击判定二(叉乘来判断敌人的位置)

建议阅读: 判断敌人在玩家的某一个区域: http://www.cnblogs.com/plateFace/p/4716799.html 我们可以根据玩家和敌人的坐标, 进行叉乘来获取一个向量可以用它来判断敌人的位置, 敌人是否在攻击范围内. 下面我简单实现下对单体敌人是否攻击做判定 这种方式有一种重大的BUG, 假设…

更改linux子系统软件源为国内镜像

cd /etc/apt/sudo cp sources.list sources.list.back20190831sudo vim sources.list执行vim替换命令 :%s/archive.ubuntu/mirrors.aliyun/g:%s/security.ubuntu/mirrors.aliyun/g执行sudo apt update即可。

[Z] Linux下进程的文件访问权限

原文链接&#xff1a;http://blog.csdn.net/chosen0ne/article/details/10581883对进程校验文件访问权限包括两个部分&#xff0c;一是确定进程的角色&#xff08;属于哪个用户或者组&#xff09;&#xff0c;二是确定对应的角色是否具有该操作的权限。 首先看第一部分。默认情…

HDU 5371 Manacher Hotaru's problem

求出一个连续子序列&#xff0c;这个子序列由三部分ABC构成&#xff0c;其中AB是回文串&#xff0c;A和C相同&#xff0c;也就是BC也是回文串。 求这样一个最长的子序列。 Manacher算法是在所有两个相邻数字之间插入一个特殊的数字&#xff0c;比如-1&#xff0c; Manacher算法…

MySQL CURDATE() 函数

定义和用法 CURDATE() 函数返回当前的日期。 语法 CURDATE() 实例 例子 1 下面是 SELECT 语句&#xff1a; SELECT NOW(),CURDATE(),CURTIME() 结果类似&#xff1a; NOW()CURDATE()CURTIME()2008-12-29 16:25:462008-12-2916:25:46例子 2 下面的 SQL 创建带有日期时间列 (Orde…

平庸技术流,用 WebApi +AngularJS 实现网络爬虫

最近园子里网络爬虫很火爆&#xff0c;从 PHP 到 Python&#xff0c;从 windows服务 到 winform 程序&#xff0c;各路大神各显神通。小弟也献下丑&#xff0c;从平庸流出发&#xff0c;简述下 WebApi AngularJS 方式实现网络爬虫。 一、技术框架 1.1 前端&#xff1a; Angular…