Tag: C#的

如何以及为什么设置C#构build机器?

我正在与一个C#项目的小型(4人)开发团队合作。 我build议设立一个build造机器,每晚都会build造和testing项目,因为我明白这是一件好事。 麻烦的是,我们在这里没有太多的预算,所以我必须certificate这些费用是合理的。 所以我想知道: 我需要什么样的工具/许可证? 现在,我们使用Visual Studio和Smart Assembly来构build,而使用Perforce进行源代码pipe理。 我需要其他的东西,还是有相当于一个cron作业来运行自动脚本? 究竟是什么,这会得到我,除了一个破碎的构build指示? 我应该在这个解决scheme(sln文件)中设置testing项目,这些脚本将运行testing项目,所以我可以testing特定的function? 目前我们有两个这样的testing,因为我们没有时间(或坦率地说,是经验)做好unit testing。 我需要什么样的硬件? 一旦构build完成并testing完毕,将其构build在ftp站点上还是采取其他方式进行内部访问是一种常见做法? 这个想法是,这台机器进行构build,我们都去,但如果必须的话,可以debugging构build。 我们应该多久做一次这种构build? 空间如何pipe理? 如果我们每晚build造,我们应该保留所有的旧build筑物,还是在大约一个星期左右之后开始抛弃它们? 还有什么我不在这里看到? 我意识到这是一个非常大的话题,我刚刚开始。 在这里我找不到这个问题的重复,如果有一本书我应该得到,请让我知道。 编辑:我终于得到它的工作! 哈德森是完全不可思议的,FxCop显示我们认为实现的一些function实际上是不完整的。 我们还必须将安装程序types从旧的vdproj更改为新的Hotness WiX。 基本上,对于那些正在关注的人,如果你可以从命令行运行你的构build,那么你可以把它放入哈德森。 通过MSBuild从命令行运行构build本身是一个有用的练习,因为它会迫使您的工具变得最新。

为什么在C ++中声明枚举时使用typedef?

我已经多年没有编写任何C ++,现在我正试图回到它。 然后我跑过去,想着放弃: typedef enum TokenType { blah1 = 0x00000000, blah2 = 0X01000000, blah3 = 0X02000000 } TokenType; 这是什么? 为什么在这里使用typedef关键字? 为什么名称TokenType在这个声明中出现两次? 语义如何不同于这个: enum TokenType { blah1 = 0x00000000, blah2=0x01000000, blah3=0x02000000 };

在C ++中用auto来声明variables是否有缺点?

似乎auto是一个相当重要的function,在C ++ 11中join,似乎遵循了很多新的语言。 就像Python这样的语言,我还没有看到任何显式的variables声明(我不确定是否有可能使用Python标准)。 使用auto声明variables而不是显式声明variables是否有缺点?

如何找出一个文件是否存在于C#/ .NET中?

我想testing一个string包含一个文件的path存在的文件(像Perl中的-etesting或Python中的os.path.exists() )在C#中。

std :: function vs模板

感谢C ++ 11,我们收到了函数包装器的std::function系列。 不幸的是,我一直听到这些新增加的坏消息。 最受欢迎的是它们非常缓慢。 我testing了它,他们真的与模板比较吸。 #include <iostream> #include <functional> #include <string> #include <chrono> template <typename F> float calc1(F f) { return -1.0f * f(3.3f) + 666.0f; } float calc2(std::function<float(float)> f) { return -1.0f * f(3.3f) + 666.0f; } int main() { using namespace std::chrono; const auto tp1 = system_clock::now(); for (int i = 0; […]

格式化一个浮点数到2个小数位

我目前正在build立一个客户网站的销售模块。 到目前为止,我已经得到的销售价格完美计算,但是我卡住的地方是格式化输出到小数点后两位。 我目前正在调用这个variables,以便我可以将数据绑定到一个列表视图。 Sale = float.Parse(((x.Sale_Price – (x.Sale_Price * (x.Discount_Price / 100))).ToString())), 任何人都可以告诉我如何格式化输出到2位小数? 非常感谢!

如何从DateTime获取AM / PM值?

有问题的代码如下: public static string ChangePersianDate(DateTime dateTime) { System.Globalization.GregorianCalendar PC = new System.Globalization.GregorianCalendar(); PC.CalendarType = System.Globalization.GregorianCalendarTypes.USEnglish; return PC.GetYear(dateTime).ToString() + "/" + PC.GetMonth(dateTime).ToString() + "/" + PC.GetDayOfMonth(dateTime).ToString() + "" + PC.GetHour(dateTime).ToString() + ":" + PC.GetMinute(dateTime).ToString() + ":" + PC.GetSecond(dateTime).ToString() + " " ???????????????? } 我怎样才能从dateTime值获得上午/下午?

使用lambdaexpression式将对象列表从一种types转换为另一种types

我有一个foreach循环读取一个types的对象列表,并产生一个不同types的对象列表。 我被告知lambdaexpression式可以达到相同的结果。 var origList = List<OrigType>(); // assume populated var targetList = List<TargetType>(); foreach(OrigType a in origList) { targetList.Add(new TargetType() {SomeValue = a.SomeValue}); } 任何帮助将不胜感激,我是新lambda和linq谢谢,S

Objective C – 删除string中的最后一个字符

在iPhone的Objective C中,我将如何使用button操作删除string的最后一个字符。

为什么“这个”是一个指针而不是一个参考?

我正在阅读这个问题的答案C + +的利弊,并阅读评论时有这个疑问。 程序员经常发现,“this”是指针而不是引用。 另一个困惑是为什么“你好”是不是types的std ::string,但计算为一个字符常量*(指针)(在数组到指针转换后) – 约翰内斯Schaub评论时间70年01月01日原作者: 这只表明它不使用与其他(以后)语言相同的约定。 – le dorfier 08年12月22日在3:35 尽pipe如此,我将这个“这个”称为一个非常微不足道的问题。 哎呀,感谢在我的未定义行为的例子中发现了一些错误。 :)虽然我不明白什么信息大小与第一个任何东西有关。 一个指针是根本不允许指向外部分配的内存 – – Jalf 12年12月22日在4:18 这是一个不断沉着? – yesraaj 12年12月22日在6:35 如果方法是const int getFoo()const,则这可以是常量。 < – 在getFoo范围内,“this”是常量,因此是只读的。 这可以防止错误,并为调用者提供一定程度的保证,使对象不会改变。 – 道格T. 08年12月22日在16:42 你不能重新分配“这个”。 即你不能做“this =&other”,因为这是一个右值。 但是这是T *types,而不是T型常量。 即它是一个非常量的指针。 如果你在一个const方法,那么它是一个指向const的指针。 T常量。 但指针本身是nonconst – Johannes Schaub – litb 08年12月22日在17:53 想想这个是这样的:#define this(this_ + 0),编译器创build“this_”作为指向对象的指针,并使“this”成为关键字。 你不能指定“this”,因为(this_ […]