gpt4 book ai didi

c# - 如何修改 list 中的值?

转载 作者:行者123 更新时间:2023-11-30 13:33:36 26 4
gpt4 key购买 nike

    class SomeClass
{

private struct PhraseInfo
{
public int Start;
public int Length;
}

...

private void SomeMethod(...)
{
List<PhraseInfo> posesBracket = new List<PhraseInfo>();
posesBracket.Add(new PhraseInfo());
posesBracket[0].Start = 10;
}

原因,posesBracket[0].start=10;发生编译器错误 CS1612:“无法修改‘表达式’的返回值,因为它不是变量”

如何修改列表中的值?

最佳答案

问题是PhraseInfo是一个值类型,所以this[]方法会返回一个值,而不是一个引用,要解决它,这样做:

PhraseInfo pi = posesBracket[0];
pi.Start = 10;
posesBracket[0] = pi;

关于c# - 如何修改 list<t> 中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6800972/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com