Tag: C#的

减去/增加值,没有溢出或下溢

想象一下,我有两个无符号的字节b和x 。 我需要计算bsub作为b – x和badd作为b + x 。 但是,在这些操作过程中,我不想发生下溢/溢出。 例如(伪代码): b = 3; x = 5; bsub = b – x; // bsub must be 0, not 254 和 b = 250; x = 10; badd = b + x; // badd must be 255, not 4 明显的做法包括分支: bsub = b – min(b, x); badd […]

有没有更好的等待模式的C#?

我发现自己编码这种types的东西几次。 for (int i = 0; i < 10; i++) { if (Thing.WaitingFor()) { break; } Thread.Sleep(sleep_time); } if(!Thing.WaitingFor()) { throw new ItDidntHappenException(); } 它看起来像不好的代码,有没有更好的方式做这/是一个糟糕的devise的症状?

现代C ++的实验性特征对于长期项目是否可靠?

我有一个目前使用C ++ 11/14的项目,但它需要像std::filesystem这样的东西,它只在C ++ 17中可用,因此我没有机会使用它。 但是,我看到它在我当前的编译器中可用作为std::experimental::filesystem 。 使用实验性function是一个好主意,假设我可以在将来添加如下内容: #ifdef CXX17 //if this is C++17 std::filesystem::something …; #else std::experimental::filesystem::something …; #endif 我的顾虑是: 1.是否保证所有兼容的编译器具有相同的实验function? 2.实验性function是否容易发生大的变化,使其变得不可靠? 也许还有更多的事情要考虑。 为什么我应该或不应该使用它们? 我对一个新项目感到困惑,不知道该怎么做。

交易与小巧的网点

我想在多个表上运行多个插入语句。 我正在使用dapper.net。 我没有看到任何处理与dapper.net交易的方式。 请分享您如何使用dapper.net进行交易的想法。

一个内部类的公共内部方法

internal class Foo { public void Fee() { Debug.WriteLine("Fee"); } internal void Fi() { Debug.WriteLine("Fi"); } } 我认为Fee()和Fi()是同样可以访问的,因为整个class级已经是内部的了。 我可以俯视吗? 在这种情况下,是否有任何理由select公共或内部方法?

叉和线有什么区别?

任何人都可以解释一个fork和一个线程之间的区别吗?

如何在C ++中创build一个条件的typedef

我正在尝试做这样的事情: #include <iostream> #include <random> typedef int Integer; #if sizeof(Integer) <= 4 typedef std::mt19937 Engine; #else typedef std::mt19937_64 Engine; #endif int main() { std::cout << sizeof(Integer) << std::endl; return 0; } 但我得到这个错误: error: missing binary operator before token "(" 我怎样才能正确地使条件typedef?

如何从System.Enum转换为基本整数?

我想创build一个通用的方法来转换任何System.Enum派生types为其相应的整数值,而不是铸造,最好不分析string。 例如,我想要的是这样的: // Trivial example, not actually what I'm doing. class Converter { int ToInteger(System.Enum anEnum) { (int)anEnum; } } 但是这似乎不起作用。 Resharper报告说,您不能将“System.Enum”types的expression式转换为键入“int”。 现在我已经想出了这个解决scheme,但我宁愿有更有效的东西。 class Converter { int ToInteger(System.Enum anEnum) { return int.Parse(anEnum.ToString("d")); } } 有什么build议么?

什么是hashCode用于? 它是独特的吗?

我注意到WP7中的每个控件项目都有一个getHashCode()方法,它返回一个数字序列。 我可以使用这个哈希码来识别一个项目吗? 例如,我想识别设备中的图片或歌曲,并检查它的位置。 如果为特定项目提供的哈希码是唯一的,则可以完成此操作。 你能帮我解释什么是hashCode和getHashCode()使用?

如何用C#中的整数序列创build数组?

F#有序列 ,允许创build序列: seq { 0 .. 10 } 从0到10创build数字序列。 在C#中有类似的东西吗?