问题标签 [ilist]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
9686 浏览

c# - 转换 IList集合到逗号分隔的列表

将 IList 集合转换为逗号分隔的 id 字符串的任何优雅方法?

“1,234,2,324,324,2”

0 投票
3 回答
6779 浏览

c# - 哪个 Json 反序列化器呈现 IList收藏?

我正在尝试将 json 反序列化为一个对象模型,其中集合表示为IList<T>类型。

实际的反序列化在这里:

在我发布异常之前,我让你应该知道隐式转换是什么。这是Contact类型:

这是ContactDetail类型:

重要的是要知道LazyList<T>它实现IList<T>

现在这个LazyList<T>类定义很好,直到我尝试将 Json 反序列化到它中。System.Web.Script.Serialization.JavaScriptSerializer似乎想要将列表序列化为有意义的列表,因为List<T>它的年龄但我需要它们的类型IList<T>,以便它们将转换为我的LazyList<T>(至少那是我认为我出错的地方)。

我得到这个例外:

当我尝试List<ContactDetail>在我的Contact类型中使用时(如您在上面所见),它似乎有效。但我不想使用List<T>'s. 我什至尝试让我的LazyList<T>继承List<T>似乎执行,但是将List<T>' 内部传递T[]给我的实现是一场噩梦,我根本不希望List<T>我的模型中任何地方都膨胀。

我还尝试了其他一些 json库但无济于事(我可能没有充分利用这些库。我或多或少地替换了引用并尝试重复此问题顶部引用的代码。也许传递设置参数将帮助??)。

我不知道现在该尝试什么。我要使用另一个解串器吗?我是否调整反序列化本身?我需要改变我的类型来取悦反序列化器吗?我是否需要更多地担心隐式转换或只是实现另一个接口?

0 投票
5 回答
1188 浏览

asp.net - 从 asp.net vb.net 中的 dal 函数返回多个 ilist

我修改了一个函数,该函数从存储过程返回强类型的产品 Ilist(来自 Web 搜索表单)。

由于存储过程的复杂性,我已将其更改为返回产品类别以及使用产品结果。我可以将它放入另一个强类型 ilist,但对于我的生活,我无法返回这两个 ilist。

Unfotunatley 在阅读了数百篇帖子之后,我的天赋已经耗尽,似乎使用 linq 是可能的,但我宁愿不这样做,因为我在那里的知识更少。

是否可以将 ilists 放入某种集合中并将它们返回以用作 ilists?

如果没有,还有其他方法吗?我可以再次调用存储过程,但调用两次会很昂贵。

0 投票
1 回答
1436 浏览

c# - 可以存储在列表中的元素是否有限制?

可以存储在 List 中的元素是否有限制?或者你可以一直添加元素直到你内存不足?

0 投票
1 回答
120 浏览

c# - 通用列表问题

我有这样的对象。

和一个测试班

}

但我得到从 GetAllActiveData 方法返回的空结果。无论如何我将 IList 从一种类型转换为另一种类型。

0 投票
7 回答
474 浏览

c# - 重载函数以接受 IEnumerable 是常见的(或鼓励的)做法吗, 收藏夹, 列表, ETC。?

编辑

从给出的答案中,我已经很清楚我在下面询问的设计应该如何实际实施。考虑到这些建议(并回应礼貌地指出我的示例代码甚至无法编译的评论),我编辑了以下代码以反映普遍共识。鉴于代码,剩下的问题可能不再有意义,但我将其保留为后代。


假设我有一个函数的三个重载,一个 take IEnumerable<T>,一个takingICollection<T>和一个taking IList<T>,如下所示:

这里的想法是,如果我有一个IList<T>,那会使我的工作变得最简单;另一方面,我仍然可以使用 anICollection<T>甚至 an来完成这项工作IEnumerable<T>;这些接口的实现效率不高。

我不确定这是否可行(如果运行时能够根据传递的参数选择重载),但我已经对其进行了测试,并且似乎可以。

我的问题是:这种方法有没有我没有想到的问题?或者,这实际上是一个好方法吗,但是有更好的方法来实现它(也许通过尝试将values参数转换为IList<T>第一个并在转换有效时运行更有效的重载)?我只是想知道别人的想法。

0 投票
3 回答
6435 浏览

c# - C# 初学者:我的 IList.Where() 方法到哪里去了?

我有另一个简单的(我认为)难倒我。我在我的一个控件中编写了一个方法,该方法在给定文件名的情况下获取 CMS 中文件的最新版本(即,无论文件位于哪个文件夹中)。我发现它足够有用,我想我会把它放在我的 CMSToolbox 类中,但是当我这样做时,我不能再使用Where()CMS 提供的 FileManager 类的方法(它返回一个列表)。

这是我的课程的简化示例:

当我在 Control 的上下文中执行完全相同的操作时(实际上是由 CMS 提供的扩展类Control),我可以访问该Where()方法,但在我的 ToolBox 类中我没有。是什么赋予了?我认为 anIList始终允许从您使用它的任何地方访问相同的方法。

我又错了,哈哈:)


编辑:Filemanager.GetGroupAll()返回一个CMSList扩展IList

0 投票
2 回答
4339 浏览

c# - c# - 如何反序列化通用列表当我不知道 (T) 的类型时?

出于听觉原因,我使用 binaryformatter 将业务方法的参数序列化到数据库中。

问题是,当参数是通用列表时,我找不到转换反序列化对象的方法,因为我不知道类型,或者如果我知道类型,我不知道如何将对象转换为运行。

任何人都知道如何在运行时动态地转换包含通用列表的对象吗?

我需要这样做,因为我需要在属性网格中显示反序列化数据:

0 投票
2 回答
1188 浏览

asp.net-mvc - 当 IList 的本地副本更改时,存储在 Session 中的 IList 会更新

我正在构建一个大型的多区域 MVC 项目。(MVC 2 测试版)。

我有一个会话包装类,在它自己的项目 MySession 中,它看起来像这样:

在一个子区域项目中,我通过我的包装器构建并保存一个列表到会话:

这工作正常。我稍后将会话中的列表检索到局部变量 userList 中:

然后我向 LOCAL userList 添加一个新项目(并询问用户是否要保存它):

这是问题发生的地方。在上述 .Add 方法之后,本地 userList 立即添加了新项目,但存储在 Session 中的 userList 还包含添加到本地列表中的新项目。

我不希望在会话中更新列表,除非用户想要保存新列表,并且我明确保存它。

为什么会发生这种情况,我如何只将项目添加到本地列表,而不是当前会话中的项目?

谢谢,这让我发疯了!

0 投票
1 回答
2171 浏览

nhibernate - 将 IList 强制转换为 IList使用动态实例化

我尝试使用动态实例化将以下 NHibernate 查询转换为 IList<t> 而不是 IList。

运行这个我得到以下错误: -

无法将类型为“NHibernate.Impl.QueryImpl”的对象转换为类型“System.Collections.Generic.IList`1[Domain.Model.Entities.AllName]”。

我知道我可以回来

但我的服务层期望

我怎样才能做到这一点?