C#中关键字ref修饰类对象或结构体[转]
using System;
using System.Collections.Generic;
using System.Text;
namespace CSharpTest
{
struct Dog
{
public int _nFeet;
public string _sound;
public Dog(int n, string sound)
{
_nFeet = n;
_sound = sound;
}
public int NFeet
{
get { return _nFeet; }
set { _nFeet = value; }
}
public string Sound
{
get { return _sound; }
set { _sound = value; }
}
public string ToString()
{
return String.Format("The dog has {0} feet, and sounds {1}.",
_nFeet.ToString(), _sound);
}
}
class Cat
{
private int _nFeet;
private string _sound;
public Cat(int n, string sound)
{
_nFeet = n;
_sound = sound;
}
public int NFeet
{
get { return _nFeet; }
set { _nFeet = value; }
}
public string Sound
{
get { return _sound; }
set { _sound = value; }
}
public string ToString()
{
return String.Format("The cat has {0} feet, and sounds {1}.",
_nFeet.ToString(), _sound);
}
}
class Program
{
static void Main(string[] args)
{
// Cat
Cat cat = new Cat(, "miao~");
System.Console.WriteLine(cat.ToString());
BeatCat(cat);
System.Console.WriteLine(cat.ToString());
BeatCat2(ref cat);
System.Console.WriteLine(cat.ToString());
System.Console.WriteLine();
// Dog
Dog dog = new Dog(, "wang!");
System.Console.WriteLine(dog.ToString());
BeatDog(dog);
System.Console.WriteLine(dog.ToString());
BeatDog2(ref dog);
System.Console.WriteLine(dog.ToString());
}
public static void BeatCat(Cat cat)
{
cat.NFeet = ;
cat.Sound = "wang~";
}
public static void BeatCat2(ref Cat cat)
{
cat.NFeet = ;
cat.Sound = "huhu~";
}
public static void BeatDog(Dog dog)
{
dog.NFeet = ;
dog.Sound = "miao!";
}
public static void BeatDog2(ref Dog dog)
{
dog.NFeet = ;
dog.Sound = "huhu!";
}
}
}
C#中关键字ref修饰类对象或结构体[转]的更多相关文章
- 3-4 8精彩算法集合。struct(C,ruby) Ruyb类对象和结构体, 3-5
在本章我遇到了c语言的struct数据,即自定义的数据结构.比如: struct edge { int u; int v; int w; }; 题目给了一组数据,用edge储存.需要按照w大小排序.我 ...
- C++派生类中如何初始化基类对象(五段代码)
今天收到盛大的面试,问我一个问题,关于派生类中如何初始化基类对象,我在想派生类对于构造函数不都是先构造基类对象,然后在构造子类对象,但是如果我们在成员初始化列表先初始化派生类的私有成员,在函数内去调用 ...
- C++中的空类与空结构体大小
今天面试遇到了一个很有意思的问题,即空结构体在C++中所占的内存大小是多少?参见如下代码: #include <iostream> struct S0 { }; int main() { ...
- 你有对象类,我有结构体,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang结构体(struct)的使用EP06
再续前文,在面向对象层面,Python做到了超神:万物皆为对象,而Ruby,则干脆就是神:飞花摘叶皆可对象.二者都提供对象类操作以及继承的方式为面向对象张目,但Go lang显然有一些特立独行,因为它 ...
- c#中关于sealed修饰类的性能提升的测试
在clr var c#一书中,作者描述当用sealed修饰类时,可以提高系统性能而且建议大家也养成用sealed来修饰类的习惯.由于对性能二字比较敏感,所以本文先测试一下用sealed分别修饰和不修饰 ...
- 关键字final 修饰类、方法、属性、参数类型
笔记: /** 关键字final(最终的) 标记的类不能被继承, 提高安全性,提高程序的可读性 * 1.final 修饰类,这个类就不能被继承: 如:String类.StringBuffer类.Sys ...
- final关键字概念与四种用法和final关键字用于修饰类和成员方法
fifinal关键字 概述 学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写.那么我们能不能随意的继承 API中提供的类,改写其内容呢?显然这是不合适的.为了避免这种随意改写 ...
- C#中关键字ref与out的区别【转】
在C#中,ref与out是很特殊的两个关键字.使用它们,可以使参数按照引用来传递.总的来说,通常我们向方法中传递的是值.方法获得的是这些值的一个拷贝,然后使用这些拷贝,当方法运行完毕后,这些拷贝将被丢 ...
- 2.5 C++类class和结构体struct区别
参考:http://www.weixueyuan.net/view/6337.html 总结: 在C++中,struct类似于class,在其中既可以定义数据成员,又可以定义成员函数. 在C++中,s ...
随机推荐
- Windows7(x64)下Oracle10g安装
安装环境:Windows7 (64位版本) + Oracle10g 问题描述1:无法启动安装程序,程序提示“程序异常终止.发生内部错误....” 解决过程:按网上说法加6.1版本参数,按xp兼容模式启 ...
- Rsync详解
Rsync详解 1.什么是RsyncRsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的“Rsync算法”来使本 ...
- Hibernate中Session的get和load
hibernate中Session接口提供的get()和load()方法都是用来获取一个实体对象,在使用方式和查询性能上有一些区别.测试版本:hibernate 4.2.0. get Session接 ...
- webservice 错误::无法加载协定为的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分。
转自网络 错误::无法加载协定为“ServiceReference1.INetbankUpdateService”的终结点配置部分,因为找到了该协定的多个终结点配置.请按名称指示首选的终结点配置部分. ...
- Python标准库之核心模块学习记录
内建函数和异常 包括__builtin__模块和exceptions模块 操作系统接口模块 包括提供文件和进程处理功能的os模块,提供平台独立的文件名处理(分拆目录名,文件名,后缀等)的os.path ...
- V4L2读取摄像头程序流程【转】
本文转载自:https://my.oschina.net/u/1024767/blog/210801 v4l2 操作实际上就是 open() 设备, close() 设备,以及中间过程的 ioctl( ...
- iOS 解决的问题
1. 字符超过一定长度会闪退. 2. 发送完会弹出警告框. 3. 加入语音. 4. 连接按钮做peripheval是否为空的判断.
- 如何查看Linux操作系统版本
1. 查看内核版本命令: 360kb.com:~> cat /proc/version Linux version 2.6.32-358.el6.x86_64 (mockbuild@c6b8.b ...
- php的ssh2扩展安装
折腾半天,结论如下: 1.先需要openssl 用which openssl看是否已安装 2.然后libssh2 用rpm -ql libssh2查看 3.下载源码的shh2x.x.x.tgz的包 4 ...
- WinCE Show App Icon
找个图片,例如背景透明的jpg或png,上http://www.pic2icon.com/smartphone_wince_icon_generator.php这个网站转换下. 在项目属性中,设为图标 ...