http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 8796|回复: 9

[其他] 请教 C# 结构体与List 使用为什么出现 这样

[复制链接]
发表于 2014-2-5 13:51:44 | 显示全部楼层 |阅读模式
[C#] 纯文本查看 复制代码
    public struct s1
    {

        public string name;
        public int age;
        public string sex;
    }

            List<s1> s1List = new List<s1>();
            s1List[0].name = "罗文俊";


错误        1        无法修改“System.Collections.Generic.List<WindowsFormsApplication1.s1>.this[int]”的返回值,因为它不是变量        C:\Users\Administrator\documents\visual studio 2013\Projects\测试\WindowsFormsApplication1\Form1.cs        23        13        WindowsFormsApplication1


本帖被以下淘专辑推荐:

  • · List|主题: 2, 订阅: 0


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-2-5 14:02:53 | 显示全部楼层
结构不能这样用,建议你使用类来代替
[C#] 纯文本查看 复制代码
    public class s1
    {

        public string name;
        public int age;
        public string sex;
    }
    class Program
    {
        static void Main()
        {
            List<s1> s1List = new List<s1>();
            s1List[0].name = string.Empty;
        }
    }

发表于 2014-2-5 14:06:39 | 显示全部楼层
结构传的是值,不是引用,所以不能修改
 楼主| 发表于 2014-2-5 14:11:57 | 显示全部楼层
站长苏飞 发表于 2014-2-5 14:06
结构传的是值,不是引用,所以不能修改

我看别人能这样用,我就是想实现 在 栈 实现数据存储。老大,有没有方法
发表于 2014-2-5 14:20:11 | 显示全部楼层
谁能这样用,你发个连接我看看,不可能吧。建议使用类,
如果非要这样做,只能通过方法来修改
比如
[C#] 纯文本查看 复制代码
    public struct s1
    {
        public void set(string _name, int _age, string _sex)
        {
            name = _name;
            age = _age;
            sex = _sex;
        }
        public string name;
        public int age;
        public string sex;
    }
    class Program
    {
        static void Main()
        {
            List<s1> s1List = new List<s1>();
            s1List[0].set("sufeinet", 1, "男");
        }
    }

 楼主| 发表于 2014-2-5 14:22:26 | 显示全部楼层
站长苏飞 发表于 2014-2-5 14:20
谁能这样用,你发个连接我看看,不可能吧。建议使用类,
如果非要这样做,只能通过方法来修改
比如

在百度里看到别人这样在回答
http://zhidao.baidu.com/link?url ... xVaOZ9QfppcnYLJ2XVK
发表于 2014-2-5 14:26:03 | 显示全部楼层
南方 发表于 2014-2-5 14:22
在百度里看到别人这样在回答
http://zhidao.baidu.com/link?url=ocNvxNtKtPBTuvZjPy_fzEE4Z5ufRFuywcGQ ...

这很明显是不行的,逻辑都不通,目前我只知道能通过方法修改。
 楼主| 发表于 2014-2-5 14:28:17 | 显示全部楼层
站长苏飞 发表于 2014-2-5 14:26
这很明显是不行的,逻辑都不通,目前我只知道能通过方法修改。

估计哪人肯定不对,我怎样试都不行。谢谢。。站长,就用你这种方法
发表于 2014-2-5 14:31:00 | 显示全部楼层
南方 发表于 2014-2-5 14:28
估计哪人肯定不对,我怎样试都不行。谢谢。。站长,就用你这种方法

Ok,因为结构是值引用,不是地址引用,所以不会生成变量,你当然没有办法来修改,先和我的方法吧,多写几个方法就行了,不过还是建议使用类,比较方便
发表于 2014-2-7 00:21:29 | 显示全部楼层
受教了,学习中……
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-22 08:28

© 2014-2021

快速回复 返回顶部 返回列表