Tag: C#的

具有未定义行为的分支可以被认为无法访问,并优化为死代码?

考虑以下陈述: *((char*)NULL) = 0; //undefined behavior 它清楚地调用未定义的行为。 在给定的程序中是否存在这样的陈述意味着整个程序是不确定的,或者一旦控制stream程达到这个陈述,行为就变得不明确了? 如果用户从不input数字3 ,下面的程序是否可以定义好? while (true) { int num = ReadNumberFromConsole(); if (num == 3) *((char*)NULL) = 0; //undefined behavior } 或者,无论用户input什么内容,都完全是未定义的行为? 另外,编译器能否假定在运行时永远不会执行未定义的行为? 这将允许及时推理: int num = ReadNumberFromConsole(); if (num == 3) { PrintToConsole(num); *((char*)NULL) = 0; //undefined behavior } 在这里,编译器可以推断,如果num == 3我们将始终调用未定义的行为。 因此,这种情况一定是不可能的,这个数字不需要打印。 整个if语句可以被优化。 按照标准是否允许这种倒退的推理?

只有在C#中的datetypes – 为什么没有datetypes?

在我们的C#项目中,我们需要没有时间的表示date。 我知道DateTime的存在,但是,它也包含一天的时间。 我想明确说明某些variables和方法参数是基于date的 。 因此我不能使用DateTime.Date属性 这个问题的标准方法是什么? 当然,我不是第一个遇到这个? 为什么在C#中没有Date类? 有没有人有一个很好的实现使用一个结构,也许在DateTime上的一些扩展方法,也许实现一些运算符,如==和<,>?

什么是SQL Server Profiler中的“审计注销”?

我正在运行数据导入(使用C#/ Linq),自然我试图尽可能优化我的查询。 为此,我使用SQL Server Profiler在数据库上运行跟踪,跟踪由我的SQLlogin名(这是一个可以唯一归因于我的数据导入过程的名称)过滤。 奇怪的是,我的大部分SQL语句真的很快:) – 很less有查询甚至打破了1毫秒的标记。 但是,在所有查询之间的间隔是EventClass为“审计login”或“审计注销”的几行,而“审计注销”的持续时间可以达到一分钟! 这是否与我在我的导入中使用事务的事实有关? 如果是这样,是否有任何方法可以find哪些是最大的查询,所以我可以清理这些?

微软内部的PriorityQueue <T>存在问题?

在PresentationCore.dll的.NET Framework中,有一个通用的PriorityQueue<T>类,其代码可以在这里find。 我写了一个简短的程序来testingsorting,结果并不是很好: using System; using System.Collections.Generic; using System.Diagnostics; using MS.Internal; namespace ConsoleTest { public static class ConsoleTest { public static void Main() { PriorityQueue<int> values = new PriorityQueue<int>(6, Comparer<int>.Default); Random random = new Random(88); for (int i = 0; i < 6; i++) values.Push(random.Next(0, 10000000)); int lastValue = int.MinValue; int temp; while (values.Count != […]

我可以发布一个私人的NuGet包吗?

我有一个我所做的程序集,这个程序集对我公司的团队非常特殊。 我希望能够使用NuGet来使这个程序集适用于我的团队和我公司的类似团队正在开发的其他项目。 然而,这个程序集并不是我想要和世界分享的代码。 我知道Maven,你可以从本地仓库创build本地仓库和源码包。 NuGet是否支持类似的function? 有没有办法与NuGet指定一个本地存储库或有私人包?

.NET是否有内置的EventArgs <T>?

我正在准备为带有一个参数的事件参数创build一个通用的EventArgs类: public class EventArg<T> : EventArgs { // Property variable private readonly T p_EventData; // Constructor public EventArg(T data) { p_EventData = data; } // Property for EventArgs argument public T Data { get { return p_EventData; } } } 在我这样做之前,C#是否具有内置在该语言中的相同function? 我似乎记得在C#2.0出来的时候碰到类似的东西,但是现在我找不到它了。 或者换一种说法,我是否必须创build自己的通用EventArgs类,或者C#提供了吗? 谢谢你的帮助。

数据库模式更改后更新LINQ to SQL类的最佳方法

我在一个项目中使用LINQ to SQL类,在这个项目中数据库devise仍然有点不稳定。 有一种简单的方法来同步类与模式,或者我需要手动更新类,如果表devise更改?

用于C / C ++应用程序的开源PDF库?

我希望能够从我的(本地)C ++ Windows应用程序生成PDF输出。 有没有免费/开源的库可用来做到这一点? 我看了这个问题的答案,但是他们大多数都和.Net有关。

何时使用std :: begin和std :: end而不是容器特定版本

是否有任何一般的喜好或规则解释什么时候应该使用容器特定的开始和结束版本而不是自由函数std::begin和std::end ? 这是我的理解,如果函数是一个模板,其中容器types是一个模板参数,那么应该使用std::begin和std::end ,即: template<class T> void do_stuff( const T& t ) { std::for_each( std::begin(t), std::end(t), /* some stuff */ ); } 在其他情况下,如容器的types已知的标准/成员函数呢? 使用std::begin(cont)和std::end(cont)还是更好的做法,或者容器的成员函数cont.begin()和cont.end()是首选? 我通过调用std::end(cont) cont.end()来假设没有任何好处吗?

#include <bits / stdc ++。h>如何在C ++中工作?

我从Codeforces博客上读到,如果我们在C++程序中包含#include <bits/stdc++.h> ,那么就不需要包含任何其他头文件。 #include <bits/stdc++.h>是如何工作的,可以使用它而不是包含单独的头文件吗?