在微软的.NET推出后,关于C#的有关文章也相继出现,作为微软的重要的与JAVA抗衡的语言,C#具有很多优点。本文将选一些C#语言中的重要知识详细介绍,

第一章:参数

1。1 IN 参数

c#种的四种参数形式:
一般参数
in参数
out参数
参数数列
本章将介绍后三种的使用。

在C语言你可以通传递地址(即实参)或是DELPHI语言中通过VAR指示符传递地址参数来进行数据排序等操作,在C#语言中,是如何做的呢?"in"关键字可以帮助你。这个关键字可以通过参数传递你想返回的值。
namespace TestRefP
{
using System;
public class myClass
{

public static void RefTest(ref int iVal1 )
{
iVal1 += 2;

}
public static void Main()
{
int i=3; //变量需要初始化

RefTest(ref i );
Console.WriteLine(i);

}
}
}

必须注意的是变量要须先初始化。

结果:

5

1。2 OUT 参数

你是否想一次返回多个值?在C++语言中这项任务基本上是不可能完成的任务。在c#中"out"关键字可以帮助你轻松完成。这个关键字可以通过参数一次返回多个值。
public class mathClass
{
public static int TestOut(out int iVal1, out int iVal2)
{
iVal1 = 10;
iVal2 = 20;
return 0;
}

public static void Main()
{
int i, j; // 变量不需要初始化。
Console.WriteLine(TestOut(out i, out j));
Console.WriteLine(i);
Console.WriteLine(j);
}
}

结果:

0 10 20

1。3 参数数列

参数数列能够使多个相关的参数被单个数列代表,换就话说,参数数列就是变量的长度。

using System;

class Test
{
static void F(params int[] args) {
Console.WriteLine("# 参数: {0}", args.Length);
for (int i = 0; i < args.Length; i++)
Console.WriteLine("\targs[{0}] = {1}", i, args[i]);
}

static void Main() {
F();
F(1);
F(1, 2);
F(1, 2, 3);
F(new int[] {1, 2, 3, 4});
}
}

以下为输出结果:

# 参数: 0
# 参数: 1
args[0] = 1
# 参数: 2
args[0] = 1
args[1] = 2
# 参数: 3
args[0] = 1
args[1] = 2
args[2] = 3
# 参数: 4
args[0] = 1
args[1] = 2
args[2] = 3
args[3]

转载于:https://www.cnblogs.com/Sandheart/archive/2005/05/08/150829.html

C#重点知识详解(一) 选择自 masterall 的 Blog相关推荐

  1. C#重点知识详解(转)

    C#重点知识详解 在微软的.NET推出后,关于C#的有关文章也相继出现,作为微软的重要的与JAVA抗衡的语言,C#具有很多优点.本文将选一些C#语言中的重要知识详细介绍, 第一章:参数 1.1 IN ...

  2. Appium重点知识详解

    一.capability使用说明 Appium官网配置说明 1.公共部分 2.Android独有 3.ios独有 4.常用配置信息获取方式 获取 deviceName adb devices 获取 a ...

  3. 网络知识详解之:网络攻击与安全防护

    网络知识详解之:网络攻击与安全防护 计算机网络相关知识体系详解 网络知识详解之:TCP连接原理详解 网络知识详解之:HTTP协议基础 网络知识详解之:HTTPS通信原理剖析(对称.非对称加密.数字签名 ...

  4. 趣谈网络协议-第二模块-底层网络知识详解:4陌生的数据中心2CDN和数据中心

    趣谈网络协议-第二模块-底层网络知识详解:4陌生的数据中心2CDN和数据中心 1:CDN:你去小卖部取过快递么? 使用"中间仓库"来优化 网络中的"就近配送" ...

  5. CPU Cache 知识详解之Cache_Miss与替换策略(中)

    文章目录 引语 Cache Miss(缓存未命中) Compulsory Miss(Cold Miss)强制性未命中 Conflict Miss 冲突性未命中 Capacity Miss 容量性未命中 ...

  6. 【BLE】OTA基础知识详解

    [BLE]OTA基础知识详解 一. 概念 1. 缩写 BIM Boot Image Manager , the software bootloader CRC cyclic redundancy ch ...

  7. python 快速排序_小白入门知识详解:Python实现快速排序的方法(含实例代码)...

    前言: 今天为大家带来的内容是:小白入门知识详解:Python实现快速排序的方法(含实例代码)希望通过本文的内容能够对各位有所帮助,喜欢的话记得点赞转发收藏不迷路哦!!! 提示: 这篇文章主要介绍了P ...

  8. Oracle入门(一)之入门级知识详解

    转载自 Oracle入门级知识详解 一. Oracle基本介绍 1. 什么时候用Oracle数据库? SQL SERVER 号称百万级数据(一个表的数据),但是其实做多20万条数据 超过20万条数据就 ...

  9. 最全 VxLAN 知识详解

    什么是VXLAN VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网),是由IETF定义的NVO3(Network Virtualization o ...

最新文章

  1. manjaro 火焰截图添加快捷键_Linux中功能强大的截图工具 - Flameshot
  2. SQLServer之创建INSTEAD OF INSERT,UPDATE,DELETE触发器
  3. Leetcode 剑指 Offer 05. 替换空格 (每日一题 20210809)
  4. Airtest自动化测试工具介绍
  5. 可持续字典树 Perfect Security
  6. 02--Tomcat总体结构分析一
  7. 程序员告诉你如何用技术手段玩转冲顶大会
  8. cad添加自己线性_如何在CAD中添加自行创建的线型
  9. Excel 做统计学分析
  10. Excel-快捷键的使用方法
  11. python requests 代理ip被禁_python requests 测试代理ip是否生效
  12. 学习RAID磁盘阵列
  13. 【Java】根据生日计算年龄
  14. 聊聊旷厂黑科技 | 五彩斑斓的黑,旷视“算”出来了!
  15. unreal4 源码引言
  16. Neo4j-Graph Database Internals
  17. int 和 Integer有什么区别,Integer 有哪些函数方法
  18. Oracle登录错误12560,登录错误-----ORA-12560: TNS: 协议适配器错误
  19. MySQL出现Access denied for user ‘xxx‘@‘%‘ to database ‘xxxx‘问题
  20. Android挂逼修炼之行---微信摇骰子和猜拳作弊器原理解析 (转载)

热门文章

  1. 返回一个整数数组中最大子数组的和
  2. ADO.NET复习总结(5)--工具类SqlHelper 实现登录
  3. MySQL性能优化(八)
  4. dedecms首页去掉index.html怎么设置
  5. 打印swift 变量的类型
  6. Android调用前置摄像头的方法
  7. android java 回调方法接口
  8. Android Dialog 全屏、Dialog 底部显示
  9. Android Jetpack 组件之 Lifecycle源码
  10. 第八周项目三-指向学生类的指针