我是靠谱客的博主 开放老虎,最近开发中收集的这篇文章主要介绍C#:struct的陷阱:无法修改“xxx”的返回值,因为它不是变量(转),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

[size=medium]C#:struct的陷阱:无法修改“xxx”的返回值,因为它不是变量(转)[/size]


public struct SpiderResult
{
public string robotName;
public string RobotName
{
get { return robotName; }
set { robotName = value; }
}
public int num;
public int totalNum;
}
public class TestClass
{
public SpiderResult spider = new SpiderResult();
public SpiderResult Spider
{
get { return spider; }
set { spider = value; }
}
}
//调用如下:

public partial class Form1 : Form
{
public Form1()
{
TestClass testclass = new TestClass();
testclass.Spider.RobotName = "Baidu";//编译出错
}
}


//编译错误
错误 CS1612: 无法修改“SpiderAnalysis.TestClass.Spider”的返回值,因为它不是变量
解决方法:
方法一:
把struct替换成class
方法二:
如果非要用struct不可的话,需重新生成一个所用到的struct,即设置一个中间变量:


public partial class Form1 : Form
{
public Form1()
{
TestClass testclass = new TestClass();
SpiderResult tempSpider = new SpiderResult();
tempSpider.robotName = "Baidu";
testclass.Spider = tempSpider;
}
}

最后

以上就是开放老虎为你收集整理的C#:struct的陷阱:无法修改“xxx”的返回值,因为它不是变量(转)的全部内容,希望文章能够帮你解决C#:struct的陷阱:无法修改“xxx”的返回值,因为它不是变量(转)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部