值类型与引用类型的传值

public void conFunc<T>(T[] t , Func<T,T> fc){
for (int i = 0; i < t.Count(); i++)
t[i] = fc(t[i]);
}

这种形式的传值,在函授内部修改,不需要返回值也把主函数里面的值修改

public void ConTFun<T>(T t , convertT<T> ct)
{
t = ct(t);
}

这种传值就不能改变主函数

时间: 2024-12-25 16:42:33

值类型与引用类型的传值的相关文章

Emit学习(2) - IL - 值类型和引用类型(补)

上周末回家去享受生活了, 工作是为了更好的生活嘛, 所以我把生活, 工作分的比较开. 这几天不是很忙, 在学习工作技能的同时, 发点博文, 也算是做一个学习笔记 上篇中, 贴出的地址里面那位哥, 也有一篇值类型和引用类型的文章 来源:http://www.cnblogs.com/yingql/archive/2009/03/23/1420026.html 我这个和他的那个稍有不同, 各位看官, 请! 一.示例 public class Person { public string Name {

探索C#中的值类型和引用类型

记得大三上学期上C#课程的时候,老师第一堂课就重点给我们讲了一下C#中的数据类型.我们都知道,C#是一门强类型的高级编程语言,了解它的数据类型是非常有必要的.老师当时给我们列举了很多数据类型,然后问我们哪些是值类型,那些是引用类型.说实话,当时对于这个问题还真是回答不上来,或许可以说是自己没有多少底气回答.虽然大一学C++的时候接触过值类型和引用类型,但是因为没有深究,或者根本没有真正了解他们的区别,以至于在自己写代码时无形当中用到了却还是不了解它们之间的具体区别. 现在大四了,也到了快紧张面试

修饰符|值类型、引用类型|List|索引器

1.简述private.protected.public.internal 修饰符的访问权限 private:私有成员,在类的内部可以访问 protected:保护成员,在该类内部和继承类中可以访问 public:公共成员.无访问限制 internal:当前程序集可以访问 ---延伸 类的实例化,(如何使用类?),用关键字new 类 实例名=new 类(): 字段,方法.属性都类的成员:member 都要加访问级别? 访问级别的用处在于控制成员在哪些地方可以被访问,达到面向对象中"封装"

深层次探究值类型与引用类型,以及值传递引用传递

数据类型 类型的分类 所有的类型都可以划分为两类:值类型和引用类型.   值类型和引用类型的区别在于使用的内存位置不同:值类型数据存储在栈上,而引用类型数据存储在堆上.(至于栈和堆就不在这里多做解释)   ①.值类型     值类型在储存时直接包含值,即变量引用的位置就是值在内存中实际存储的位置,可看做是变量的值本身.因此,将第一个变量的值赋给第二     个值会在新变量的位置创建原始变量的值的一个内存副本.相同值类型的第二个变量不能引用和第一个变量相同的内存地址.所以更改第一     个变量的

.Net Framemwork 之 值类型和引用类型的存储

C#把数据类型分为两种:值类型 和 引用类型.值类型存储在堆栈中,而引用类型存储在托管堆上. 一.值类型和引用类型变量的存储 首先,变量是存储信息的基本单元,而对于计算机内部来说,变量就相当于一块内存空间. C#中的变量数据类型有两种: [1] 值类型:简单类型.结构类型.枚举类型 [2] 引用类型:类.代表.数组.接口. 1.值类型和引用类型内存分配  值类型是在栈中操作,而引用类型则在堆中分配存储单元. 栈在编译的时候就分配好内存空间,在代码中有栈的明确定义,而堆是程序运行中动态分配的内存空

C#中的基元类型、值类型和引用类型

C# 中的基元类型.值类型和引用类型 1. 基元类型(Primitive Type) 编译器直接支持的类型称为基元类型.基元类型可以直接映射到 FCL 中存在的类型.例如,int a = 10 中的 int 就是基元类型,其对应着 FCL 中的 System.Int32,上面的代码你完全可以写作System.Int32 a = 10,编译器将生成完全形同的 IL,也可以理解为 C# 编译器为源代码文件中添加了 using int = System.Int32. 1.1 基元类型的算术运算的溢出检

定义类+类实例化+属性+构造函数+匿名类型var+堆与栈+GC回收机制+值类型与引用类型

为了让编程更加清晰,把程序中的功能进行模块化划分,每个模块提供特定的功能,而且每个模块都是孤立的,这种模块化编程提供了非常大的多样性,大大增加了重用代码的机会. 面向对象编程也叫做OOP编程 简单来说面向对象编程就是结构化编程,对程序中的变量结构划分,让编程更清晰. 类的概念: 类实际上是创建对象的模板,每个对象都包含数据,并提供了处理和访问数据的方法. 类定义了类的每个对象(称为实例)可以包含什么数据和功能. 类中的数据和函数称为类的成员:数据成员        函数成员 数据成员: 数据成员

Java值类型和引用类型

[定义] 引用类型表示你操作的数据是同一个,也就是说当你传一个参数给另一个方法时,你在另一个方法中改变这个变量的值, 那么调用这个方法是传入的变量的值也将改变.值类型表示复制一个当前变量传给方法, 当你在这个方法中改变这个变量的值时,最初生命的变量的值不会变.通俗说法: 值类型就是现金,要用直接用:引用类型是存折,要用还得先去银行取现.----(摘自网上) [值类型] 也就是基本数据类型 基本数据类型常被称为四类八种 四类: 1,整型 2,浮点型 3,字符型4,逻辑型 八种: 1,整型3种 by

java 值类型和引用类型的区别

1. Java中值类型和引用类型的不同? [定义] 引用类型表示你操作的数据是同一个,也就是说当你传一个参数给另一个方法时,你在另一个方法中改变这个变量的值, 那么调用这个方法是传入的变量的值也将改变.值类型表示复制一个当前变量传给方法, 当你在这个方法中改变这个变量的值时,最初生命的变量的值不会变.通俗说法: 值类型就是现金,要用直接用:引用类型是存折,要用还得先去银行取现.----(摘自网上) [值类型] 也就是基本数据类型 基本数据类型常被称为四类八种 四类: 1,整型 2,浮点型 3,字