Tag: C#的

我怎样才能得到这个ASP.NET MVC的SelectList工作?

我在我的控制器中创build一个selectList,以显示在视图中。 我试图在飞行中创build它,就像这样… myViewData.PageOptionsDropDown = new SelectList(new [] {"10", "15", "25", "50", "100", "1000"}, "15"); 它编译,但输出是坏的… <select id="PageOptionsDropDown" name="PageOptionsDropDown"> <option>10</option> <option>15</option> <option>25</option> <option>50</option> <option>100</option> <option>1000</option> </select> 注意如何select项目? 我怎样才能解决这个问题?

导入和导出Excel – 什么是最好的图书馆?

在C#中的一个ASP.NET应用程序中,我们采取一定的数据收集(SubSonic收集)并将其导出到Excel。 我们也想要以特定的格式导入Excel文件。 我正在寻找一个我可以用于这个目的的图书馆。 要求: Excel 2007文件(Excel 2003是否支持64k行?我需要的不止于此)。 在服务器上不需要Excel 采取一个types的集合,如果可以的话,试图把数字字段作为数字在Excel中。 大文件(100k到10M)运行良好 – 足够快。 导出GUID时不会崩溃! 不花费一大笔钱(没有像aspose这样的企业库)。 免费总是很好,但可以是一个商业图书馆。 你推荐什么图书馆? 你有没有使用它的大量的数据? 还有其他解决scheme吗? 现在,我正在使用一个简单的工具来生成稍后由Excel加载的HTML,但是我正在失去一些function,另外Excel在我们加载时抱怨。 我不需要生成图表或类似的东西,只需要输出原始数据。 我正在考虑单位的CSV文件,但Excel是客户的要求。 我可以直接使用CSV,如果我有一个工具来转换和Excel。 鉴于Excel 2007是一个基于XML(和压缩)的文件格式,我猜这种库应该很容易find。 但是,最重要的是你的意见和看法。 编辑:具有讽刺意味的是,在我看来,并与最票的答案,最好的Excel导入和导出库是根本没有出口。 这不是所有情况下的情况,但它是我的。 XLS文件只支持64k行。 XLSX支持高达1M。 我试过的免费库function不好(一秒钟加载一行,当你有200K行)。 我还没有尝试过付费的,因为我觉得当你需要的是一个快速的XLSX < – > CSV转换程序时,它们的价值被高估了。

即使没有空检查,使用“as”而不是cast是否有意义?

在开发博客,在线代码示例和(最近)甚至是一本书中,我一直在这样的代码上磕磕绊绊: var y = x as T; y.SomeMethod(); 或者更糟的是: (x as T).SomeMethod(); 这对我来说没有意义。 如果你确定x是Ttypes,你应该使用直接转换: (T)x 。 如果你不确定,你可以使用as但是在执行一些操作之前需要检查null 。 上述代码所做的就是将一个(有用的) InvalidCastException变成一个(无用的) NullReferenceException 。 我是唯一一个认为这是对as关键字的公然滥用吗? 还是我错过了明显的东西,上面的模式实际上是有道理的?

如何从string中删除除破折号以外的所有非字母数字字符?

除了短划线和空格字符以外,如何从string中删除所有非字母数字字符?

带参数的ThreadStart

你如何开始在C#中的参数线程?

如何检测如果我用Visual Studio 2008编译代码?

有什么方法可以知道我是否正在使用Microsoft Visual Studio 2008进行编译?

在琐碎的键的情况下,使用map over unordered_map有什么好处吗?

最近在C ++中讨论unordered_map使我意识到,由于查找的效率( 分段O(1)与O(log n) ),我应该使用unordered_map来处理以前使用map大多数情况。 大多数时候我使用一个映射,我使用int或std::strings作为键,因此我没有问题的散列函数的定义。 我想到的越多,就越意识到我找不到在unordered_map上使用简单types的情况下使用std::map任何原因 – 我查看了接口,并没有发现任何会影响我的代码的重大差异。 因此,这个问题是否有任何真正的理由使用简单的types如int和std::string情况下unordered map使用std::map ? 我从严格的编程观点来问 – 我知道这不是完全被认为是标准的,它可能会带来移植的问题。 另外,我希望正确答案之一可能是“对于较小的数据集更有效”,因为开销较小(这是真的吗?) – 因此,我想限制问题的情况下,密钥的数量是非平凡的(> 1 024)。 编辑: 呃,我忘了明显的(谢谢GMan!) – 是的,地图的顺序是当然的 – 我知道,我正在寻找其他原因。

Linux上的C ++dynamic共享库

这是使用g ++进行dynamic共享库编译的后续步骤。 我想在Linux上用C ++创build一个共享类库。 我可以让库编译,我可以使用我在这里和这里find的教程来调用一些(非类)函数。 当我尝试使用库中定义的类时,我的问题就开始了。 我链接到的第二个教程显示了如何加载符号来创build库中定义的类的对象,但是停止使用这些对象来完成任何工作。 有谁知道一个更完整的教程来创build共享的C ++类库,也显示了如何在一个单独的可执行文件中使用这些类? 一个非常简单的教程,显示对象的创build,使用(简单的getter和setter将是好的),删除将是太棒了。 说明使用共享类库的一些开源代码的链接或引用同样适用。 尽pipecodelogic和nimrodm的答案确实起作用,但我想补充一点,自从问起这个问题之后,我就select了一个Linux 初始 编程的副本,第一章有示例C代码和很好的解释来创build和使用静态和共享库。 这些示例可以通过该书旧版本中的 Google图书search获得。

ExpandoObject有什么好处?

将被添加到.NET 4的ExpandoObject类允许您在运行时随意地将属性设置到对象上。 使用Dictionary<string,object>或者甚至是一个Hashtable有没有什么好处呢? 据我所知,这只是一个哈希表,你可以用更简洁的语法来访问。 例如,为什么是这样的: dynamic obj = new ExpandoObject(); obj.MyInt = 3; obj.MyString = "Foo"; Console.WriteLine(obj.MyString); 与以下方面相比,真的更好,或者说与之大不相 var obj = new Dictionary<string, object>(); obj["MyInt"] = 3; obj["MyString"] = "Foo"; Console.WriteLine(obj["MyString"]); 使用ExpandoObject而不是仅仅使用任何字典types会带来什么真正的好处,除了不明显的是你使用的types将在运行时被确定。

C ++ 17有哪些新特性?

C ++ 17现在function完整,所以不太可能经历大的变化。 针对C ++ 17提出了数百个提案。 在C ++ 17中,哪些function被添加到C ++中? 当使用支持“C ++ 1z”的C ++编译器时,当编译器更新到C ++ 17时,哪些function将可用?