gpt4 book ai didi

c# - 如何计算 C# 中的 ICollection 中有多少元素

转载 作者:行者123 更新时间:2023-11-30 14:38:18 25 4
gpt4 key购买 nike

我的模型中有以下类:

public class Notebook : TableServiceEntity
{
public string NotebookLinksJSON { get; set; }

public string NotebookLinksCount {
get {
var a = NotebookLinksJSON.FromJSONString<Notebook.Link>().Details;
var b = a.Count();
return NotebookLinksJSON.FromJSONString<Notebook.Link>().Details.Count();
}
}

public class Link
{
public Link() {
_details = new List<Detail>();
}
public IList<Detail> Details {
get { return _details; }
}

private List<Detail> _details = new List<Detail>();

public class Detail
{
public string L { get; set; }
public string R { get; set; }
}

}
}

我想要的是拥有一个属性 NotebookLinksCount,它将返回 NotebookLinksJSON 字符串中的详细信息数量。

vars的数据类型如下:

var a = NotebookLinksJSON.FromJSONString<Notebook.Link>().Details;
var b = a.Count();

a is an interface System.Collections.Generic.IList<T>
b is ?? <<< nothing shows when I try to find out what type it is

构建时出现以下错误:

Error   3   Non-invocable member 
'System.Collections.Generic.ICollection<S.Storage.Models.Notebook.Link.Detail>.Count'
cannot be used like a method.

有人可以帮我提供一些关于如何获得 NotebookLinks 计数的建议吗?此外,如果 NotebookLinksJSON 为 null,那么我希望计数返回零。

最佳答案

Count 是一个属性。删除 () 并像这样调用它:

NotebookLinksJSON.FromJSONString<Notebook.Link>().Details.Count;

编辑:
在评论中回答@Melissa 的问题:要使其在 NotebookLinksJSON 对象为 null 的情况下返回 null,您需要进行 null 检查。

public int NotebookLinksCount {
get {
return (NotebookLinksJSON != null) ?
NotebookLinksJSON.FromJSONString<Notebook.Link>().Details.Count :
0;
}
}

而且我建议更改您的 NotebookLinksCount 属性以返回一个 int。不过,如果您真的需要一个字符串,您可以将其更改为该字符串。

public string NotebookLinksCount {
get {
return (NotebookLinksJSON != null) ?
NotebookLinksJSON.FromJSONString<Notebook.Link>().Details.Count.ToString() :
"0";
}
}

关于c# - 如何计算 C# 中的 ICollection 中有多少元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8123669/

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