C#参数类型总结
时间:2022-07-22
本文章向大家介绍C#参数类型总结,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
图1来自《图解C#》
[图1]
image.png
- ref 和 out C#中的ref 和C++中的&运算符功能类似,但又有所不同。ref是传引用。值得注意的是 ref 和out在声明和使用的时候都必须写关键字。ref传入的参数必须要先赋值,而out则不必。这是这两者主要区别。
- 没使用ref之前的输出结果为20 50 20 50
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DrillOne
{
class Num
{
public int var1 = 20;
}
class Test
{
public void Method(Num num)//这里并没有产生一个对象。只是在栈中产生了一个引用变量。
{
num.var1 = 50;
Console.WriteLine("After change the value: {0}", num.var1);
num = new Num();
Console.WriteLine("After creat a object to num : {0}", num.var1);
}
}
class Program
{
static void Main(string[] args)
{
Test test = new Test();
Num number = new Num();
Console.WriteLine("Before call method:{0}", number.var1);
test.Method(number);
Console.WriteLine("After call method:{0}", number.var1);
}
}
}
- 输出结果为:
image.png
- 使用ref之后的结果为:20 50 20 20
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DrillOne
{
class Num
{
public int var1 = 20;
}
class Test
{
public void Method(ref Num num)//这里并没有产生一个对象。只是在栈中产生了一个引用变量。
{
num.var1 = 50;
Console.WriteLine("After change the value: {0}", num.var1);
num = new Num();
Console.WriteLine("After creat a object to num : {0}", num.var1);
}
}
class Program
{
static void Main(string[] args)
{
Test test = new Test();
Num number = new Num();
Console.WriteLine("Before call method:{0}", number.var1);
test.Method(ref number);
Console.WriteLine("After call method:{0}", number.var1);
}
}
}
- 运行结果为
image.png
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DrillOne
{
class Num
{
public int var1 = 20;
}
class Test
{
public void Method(out Num num,out int f1)//这里并没有产生一个对象。只是在栈中产生了一个一个引用变量。
{
num = new Num();
f1 = 50;
Console.WriteLine("{0}", num);
}
}
class Program
{
static void Main(string[] args)
{
Test test = new Test();
Num number;
int a;
test.Method(out number, out a);
Console.WriteLine("{0} {1:c}", number.var1, a);
}
}
}
- 运行结果为:
image.png
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- client-go 之 Reflector 源码分析
- Vue.js点击按钮弹出隐藏菜单的几种方式
- 【Vue.js】Vue.js组件库Element中的单选框、多选框、输入框和计数器
- 【Vue.js】Vue.js组件库Element的基础用法
- 常见的图像处理技术
- docker浅入深出续
- 【21期】你能说说Java中Comparable和Comparator的区别吗
- 昨天晚上熬夜整理的Java注解相关学习笔记
- 对图标的坐标轴进行调整
- Vue 开发技巧总结
- 35.opengl PBR-光照
- 聊聊claudb的list command
- nginx add_header 仅部分或一次生效的原因与解决办法
- 聊聊claudb的keys command
- 聊聊claudb的server command