c# List find()方法返回值的问题说明(返回结果为对象的指针)
C#中List<T>中泛型T如果是一个对象的话,则利用Find函数返回的将是这个对象的指针,对其返回对象的属性进行操作,也会影响list中相应元素对象的值。验证如下:
1.新建一个Class1类,其含有两个姓名和分数两个属性:
代码如下:
<SPAN style="FONT-SIZE: 18px"> public class Class1
{
public string name{ get; set; }
public int score { get; set; }
}</SPAN>
2.在窗口类中写入如下代码,在button1_Click的事件中的右括号处设置断点。
代码如下:
<SPAN style="FONT-SIZE: 18px"> public Form1()
{
InitializeComponent();
}
Class1 a = new Class1();
Class1 b = new Class1();
List<Class1> l = new List<Class1>();
private void button1_Click(object sender, EventArgs e)
{
string name = "小明";
Class1 c = l.Find(delegate(Class1 p) { return (p.name.Equals(name)); });
c.score = 100;
}
private void Form1_Load(object sender, EventArgs e)
{
a.name = "小明";
a.score = 90;
l.Add(a);
b.name = "小红";
b.score = 99;
l.Add(b);
}</SPAN>
3.运行结果如下:
由图可知,想button事件中对对象c的改变,使list中相应对象也发生了改变。故其返回值为对象的引用
相关推荐
-
C#实现向多线程传参的三种方式实例分析
本文实例讲述了C#实现向多线程传参的三种方式.分享给大家供大家参考,具体如下: 从<C#高级编程>了解到给线程传递参数有两种方式,一种方式是使用带ParameterizedThreadStart委托参数的Thread构造函数,另一种方式是创建一个自定义类,把线程的方法定义为实例的方法,这样就可以初始化实例的数据,之后启动线程. 方式一:使用ParameterizedThreadStart委托 如果使用了ParameterizedThreadStart委托,线程的入口必须有一个object类型的
-
C#打开php链接传参然后接收返回值的关键代码
php代码 一.php <?php header("Content-Type:text/html;charset=UTF-8"); $u=$_POST['zdupdate']; $p=$_POST['pid']; $a=$_POST["afid"]; $d=$_POST["dtime"]; require('../db/conn.php');//打开文件 $sql_expire="insert into `m-haibook`.t
-
C#获取存储过程返回值和输出参数值的方法
1.获取Return返回值 复制代码 代码如下: //存储过程//Create PROCEDURE MYSQL// @a int,// @b int//AS// return @a + @b//GOSqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ToString());conn.Open();SqlCommand MyC
-
C#调用存储过程详解(带返回值、参数输入输出等)
本文实例讲述了C#调用存储过程的方法.分享给大家供大家参考,具体如下: CREATE PROCEDURE [dbo].[GetNameById] @studentid varchar(8), @studentname nvarchar(50) OUTPUT AS BEGIN SELECT @studentname=studentname FROM student WHERE studentid=@studentid if @@Error<>0 RETURN -1 else RETURN 0 E
-
C#调用Rar文件及获取Rar返回值的方法
本文实例讲述了C#调用Rar文件及获取Rar返回值的方法.分享给大家供大家参考.具体如下: 该程序适用于C#调用. 所需的Rar.exe可从WinRar官网下载控制台版. 按钮OK点击事件: System.Diagnostics.Process process; private void btnRAR_Click(object sender, EventArgs e) { if (System.IO.File.Exists("Rar.exe")) { try { process = n
-
c#获取存储过程返回值示例分享
存储过程: 复制代码 代码如下: CREATE PROCEDURE [dbo].[Proc_GetInfo] @ywdm varchar(10), @value varchar(20) output AS begin set @value=Select top 1 createt From table Where ywdm=@ywdm end C#获取存储过程返回值: 复制代码 代码如下: var db = DatabaseFactory.CreateDatabase(); var cmd =
-
C#中ExecuteNonQuery()返回值注意点分析
本文实例讲述了C#中ExecuteNonQuery()返回值注意点.对于C#数据库程序设计有一定的借鉴价值.分享给大家供大家参考之用.具体分析如下: 首先,在查询某个表中是否有数据的时候,我们通常用ExecuteNonQuery(),并通过判断值是否大于0来判断数据的存在与否.结果与我所设想的很不一致,调试时才发现,其执行后返回的结果是-1,对此我很是不理解,回头查了下资料,如下显示: SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影
-
C#实现.net页面之间传值传参方法汇总
本文实例总结了C#实现.net页面之间传值传参方法.分享给大家供大家参考.具体实现方法分析如下: 一.QueryString传值 一般来说,QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法.但是对于传递数组或对象的话,就不能用这个方法了.如下面实例所示: 复制代码 代码如下: private void Button1_Click(object sender, System.EventA
-
C# WebApi 接口返回值不困惑:返回值类型详解
前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.之前分享过一篇C#进阶系列--WebApi接口传参不再困惑:传参详解,这篇博文内容本身很基础,没想到引起很多园友关注,感谢大家的支持.作为程序猿,我们都知道参数和返回值是编程领域不可分割的两大块,此前分享了下WebApi的传参机制,今天再来看看WebApi里面另一个重要而又基础的知识点:返回值.还是那句话:本篇针对初初使用WebApi的同学们,比较基础,有兴趣的且看看.
-
Mysql带返回值与不带返回值的2种存储过程写法
过程1:带返回值: drop procedure if exists proc_addNum; create procedure proc_addNum (in x int,in y int,out sum int) BEGIN SET sum= x + y; end 然后,执行过程,out输出返回值: call proc_addNum(2,3,@sum); select @sum; 过程2:不带返回值: drop procedure if exists proc_addNum; create
-
c# List find()方法返回值的问题说明(返回结果为对象的指针)
C#中List<T>中泛型T如果是一个对象的话,则利用Find函数返回的将是这个对象的指针,对其返回对象的属性进行操作,也会影响list中相应元素对象的值.验证如下:1.新建一个Class1类,其含有两个姓名和分数两个属性: 复制代码 代码如下: <SPAN style="FONT-SIZE: 18px"> public class Class1 { public string name{ get; set; } publ
-
javascript中声明函数的方法及调用函数的返回值
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <!--js中声明函数的方法--> <script type="text/javascript"> //因为javascript是弱类型的语言,所以参数不需要加类型.函数的也不需要像c#那样要求所以路径都需要有返回值(这个不像c#语言,而且c#的方法也不需要在方法
-
js获取会话框prompt的返回值的方法
本文实例讲述了js获取会话框prompt的返回值的方法.分享给大家供大家参考.具体分析如下: 获取会话框prompt的返回值,见例子: 复制代码 代码如下: <html> <head> <script type="text/javascript"> if(prompt("请输入密码","") == "admin"){ document.write("密码正确"); }e
-
SpringMVC 方法四种类型返回值总结(你用过几种)
SpringMVC 现在算是 Java 领域的一个基础性框架了,很多人天天用,可是对于 SpringMVC 方法的返回值,你又是否完全清楚呢?今天松哥就来和大家聊一聊 SpringMVC 中四种不同类型的返回值,看看有没有 get 到你的知识盲点? 1. ModelAndView 以前前后端不分的情况下,ModelAndView 应该是最最常见的返回值类型了,现在前后端分离后,后端都是以返回 JSON 数据为主了.后端返回 ModelAndView 这个比较容易理解,开发者可以在 ModelAn
-
PHP方法的返回值示例详解
前言 不仅是PHP,大部分编程语言的函数或者叫方法,都可以用return来定义方法的返回值.从函数这个叫法来看,本身它就是一个计算操作,因此,计算总会有个结果,如果你在方法体中处理了结果,比如进行了持久化保存,那么这个函数就不用返回任何内容.而计算的结果是要给外部使用的,这时候就要将计算结果进行返回了. return关键字 function testA($a, $b) { echo $a + $b; } var_dump(testA(1, 2)); // NULL function testB(
-
Feign接口方法返回值设置方式
一.介绍 随着微服务的广泛应用,越来越多的企业都会使用微服务进行项目开发,在各个服务之间需要通过feign来进行通信,所以在feign调用接口中方法会接受其他服务接口不同类型返回值. 二.返回值设置 1.依据被调用服务接口设置相同返回类型 介绍:微服务A接口getUser 返回List<User>类型,微服务B通过feign调用方法也返回相同的结果类型. 特点:返回类型一一对应,在调用时不需要进行转化直接拿来就可以用. 缺点:扩展性不好,维护性不加. 解释:在目前springboot开发中,接
-
java中有无参数和返回值的方法详解
目录 java有无参数和返回值 以下的例子要细细查看 方法的返回值和参数 1.返回值 2.参数 java有无参数和返回值 首先,定义一个土豪类(LocalTyrant) 属性:name moeney smoke 行为一:(无参数无返回值): 行为二:(无参数有返回值): 行为三:(有参数有返回值): 行为四:(有参数无返回值): 以下的例子要细细查看 慢慢分析,切不可急于求成 package cm.tr; class LocalTyrant{ String name; int money; St
-
SqlServer获取存储过程返回值的实例
1.OUPUT参数返回值 复制代码 代码如下: CREATE PROCEDURE [dbo].[nb_order_insert](@o_buyerid int ,@o_id bigint OUTPUT)ASBEGINSET NOCOUNT ON;BEGININSERT INTO [Order](o_buyerid )VALUES (@o_buyerid )SET @o_id = @@IDENTITYENDEND 存储过程中获得方法: 复制代码 代码如下: DECLARE @o_buyerid i
随机推荐
- php连接不上mysql但mysql命令行操作正常的解决方法
- vue数据双向绑定的注意点
- Vue2路由动画效果的实现代码
- VBScript压缩单个文件为zip格式
- VBS教程:方法-AddFolders 方法(Folders)
- Linux cp命令参数简介
- Java 可视化垃圾回收_动力节点Java学院整理
- iOS实现二维码的扫描功能
- javascript mouseover、mouseout停止事件冒泡的解决方案
- PHP5.3新特性小结
- python Selenium爬取内容并存储至MySQL数据库的实现代码
- Python贪吃蛇游戏编写代码
- javascript学习笔记(十八) 获得页面中的元素代码
- JavaScript 拖拽翻页效果代码
- css之使table也能overflow:hidden
- 获取外网IP地址的批处理代码
- jQuery针对各类元素操作基础教程
- 基于jquery的拖动布局插件
- js实现图片轮播效果学习笔记
- Android实现拍照、选择相册图片并裁剪功能