草庐IT

kernel-lt

全部标签

c# - 如何从逗号分隔的字符串创建 List<T>?

给定变量stringids=Request.QueryString["ids"];//"1,2,3,4,5";有没有办法把它转换成一个列表而不用做类似的事情ListmyList=newList();foreach(stringidinids.Split(',')){if(int.TryParse(id)){myList.Add(Convert.ToInt32(id));}} 最佳答案 要从头开始创建列表,请使用LINQ:ids.Split(',').Select(i=>int.Parse(i)).ToList();如果您已经有了列表

c# - 用一定数量的元素初始化 List<>

这个问题在这里已经有了答案:HowtoinitializeaListtoagivensize(asopposedtocapacity)?(16个答案)InitializeaListwithLINQquery(6个答案)关闭8年前。假设我有一个简单的List.我想初始化它并向其中添加例如100个元素。为此,我可以:varmyList=newList();for(inti=0;i但这不是最优雅的方法。有没有内置的方法来简化它?我不想要任何循环,只是出于好奇

c# - 如何根据分钟舍入小时数(如果分钟<30,小时+0,否则小时+1)?

我需要根据DateTime变量中的分钟数对小时数进行四舍五入。条件是:如果分钟小于30,则分钟必须设置为零且小时不变,否则如果分钟>=30,则小时必须设置为小时+1,分钟再次设置为零。忽略秒数。例子:11/08/200804:30:49应该变成11/08/200805:00:00和11/08/200804:29:49应该变成11/08/200804:00:00我已经编写了运行良好的代码,但只是想知道是否可以编写更好的方法,并且也希望有替代方法。stringdate1="11/08/200804:30:49";DateTimestartTime;DateTime.TryParseExac

C# 异步/等待 : Leave AsyncLocal<T> context upon task creation

AsyncLocal允许我们将上下文数据保存在异步控制流中。这非常巧妙,因为所有后续简历(甚至在另一个线程上)都可以检索和修改环境数据(AsyncLocalonMSDN)。有没有办法为子任务“留下”当前的异步本地上下文,从而创建一个新的本地上下文?AsyncLocalData=newAsyncLocal();Data.Value="One";Task.Factory.StartNew(()=>{stringInnerValue=Data.Value;//InnerValueequalsto"One",Ineedittobenull.});在上面的示例中,内部任务与外部控制流共享Asyn

c# - 使用带有 bindinglist<business obj> 的绑定(bind)源作为数据源有什么好处?

我可以通过设置DataSource属性将我的DataGridView控件直接绑定(bind)到我的业务对象的绑定(bind)列表。我的业务对象实现INotifyPropertyChanged,因此当新项目添加到绑定(bind)列表或更新现有项目时,DGV会更新。关于处理单个记录,我可以将我的业务对象绑定(bind)到文本框和其他相关控件。我还可以从BindingList派生并创建一个CustomBindingList类来实现IBindable所需的方法,如下面的链接所述:http://msdn.microsoft.com/en-us/library/aa480736.aspx或者,我看

c# - 返回 ICollection<T> 而不是 List<T> 的真正优势是什么?

这个问题在这里已经有了答案:关闭13年前。我读过几篇博文,其中提到对于公共(public)API,我们应该始终返回ICollection(或IEnumerable)而不是List。返回ICollection而不是List的真正优势是什么?谢谢!重复:WhatisthedifferencebetweenList(ofT)andCollection(ofT)?

c# - 实现 IEnumerable<T> 的自定义集合的 Json.net 序列化

我有一个实现IEnumerable的集合类,但我在反序列化其序列化版本时遇到了问题。我正在使用Json.netv4.0.2.13623这是我的集合类的简化版本,可以说明我的问题publicclassMyType{publicintNumber{get;privateset;}publicMyType(intnumber){this.Number=number;}}publicclassMyTypes:IEnumerable{privatereadonlyDictionaryc_index;publicMyTypes(IEnumerableseed){this.c_index=seed.

c# - 使用自定义流 (IEnumerable<T>)

我正在使用Stream的自定义实现这将流式传输IEnumerable成一个流。我正在使用这个EnumerableStream实现以执行转换。我正在使用它以流式传输模式通过WCF执行流式传输。我能够转换IEnumerable到流没有问题。有一次,我在客户端,我可以反序列化并获取所有数据,但是我无法找到停止循环我的流的条件。我得到:System.Runtime.Serialization.SerializationException:EndofStreamencounteredbeforeparsingwascompleted.这是我要实现的示例示例:classProgram{public

c# - 将 TypeScript 与内联服务器端 `&lt;script&gt;` block 和 ASP.Net 结合使用

我希望能够在ASPX(或Razor)页面中使用内联TypeScript,在页面编译时将其转换为Javascript。所以:...变成......它应该在@的同一时间发生或block被转换。这应该可以在运行时通过某种页面后处理实现,但不会在编译时生成异常-我想在发现脚本中的错误的同时发现任何C#代码。理想情况下,TypeScriptintellisense等应该在内联中工作block,这让我觉得这应该是一个VS2012扩展。有什么办法吗? 最佳答案 简短的回答是否定的。您可以编写一个TypeScript文件并将编译后的JavaScri

c# - 检查 IEnumerable<T> 是否不包含重复项(= 不同)的快速方法

是否有快速内置方法来检查IEnumerable只包含不同的字符串?一开始我是这样开始的:varenumAsArray=enum.ToArray();if(enumAsArray.Length!=enumAsArray.Distinct().Count())throw...但是,这看起来像是O(2n)-是吗?ToArray()可能是O(1)?这看起来更快:varset=newHashSet();foreach(varstrinenum){if(!set.Add(str))throw...}这应该是O(n),但是,是否也有内置方法?编辑:也许Distinct()在内部使用它?解决方案:在考