CRC16 ISO 13239实施

我正试图在C#中实现Crc16。 我已经尝试了很多不同的实现,但是大多数都给了我不同的值。 以下是我已经使用过的一些代码。 private static int POLYNOMIAL = 0x8408; private static int PRESET_VALUE = 0xFFFF; public static int crc16(byte[] data) { int current_crc_value = PRESET_VALUE; for (int i = 0; i < data.Length; i++) { current_crc_value ^= data[i] & 0xFF; for (int j = 0; j > 1) ^ POLYNOMIAL; } else { current_crc_value = […]

.pdbs是否会降低发布应用程序的速度?

如果.dll中包含.pdb(程序调试)文件,则会在抛出的任何exception的堆栈跟踪中显示行号。 这会影响应用程序的性能吗? 这个问题不是关于发布与调试,即优化。 它是关于拥有.pdb文件的性能影响。 每次抛出exception时都会读取.pdb文件吗? 加载程序集时,信息是否以某种方式缓存? 或者它是在第一次抛出相关exception时缓存的? 它有多大区别?

如何在C#中使用webclient UploadFile,UploadValues上传多个文件?

如何在C#中使用webclient UploadFile,UploadValues上传多个文件?

DataBridView中的外键combobox

我有一个包含两个表,产品和许可证的数据库。 Licences.ProductID具有对Products.ProductID的外键引用(即该产品的许可证)。 如何在WinForms DataGridView中表示该关系? 在向DataGridView(SQL Metal和通过LINQ to SQL)提供ProductLicences.ProductID时,它会自动生成一个包含文本字段的列,该字段需要“Product”(当然我无法输入…)。 如何更改此列以包含列出可用产品的combobox? 我有一个连接(inheritance自Linq.DataContext ),分配给DataGridView的数据源是一个Link.IQueryable ,生成如下: var ds = from c in m_connection.Licences select c;

从C#中的多行文本框的开头删除行

在C#中有一种优雅的方式可以从多行文本框的开头删除多行文本吗? 我使用的是Microsoft Visual C#2008 Express Edition。 编辑 – 其他详细信息我的应用程序中的多行文本框被禁用(即它只能由应用程序本身编辑),并且每行都以“\ r \ n”结束。

关于Haskell的问题 – > C#转换

背景: 我被“拖累”看到这个问题: Fibonacci在Haskell中的封闭式表达式 当作者最初用许多其他语言标记但后来专注于Haskell问题时。 不幸的是,我对Haskell没有任何经验,所以我无法真正参与这个问题。 然而,其中一个答案引起了我的注意,回答者把它变成了一个纯整数学问题。 这对我来说听起来很棒 ,所以我必须弄清楚它是如何工作的,并将其与递归的Fibonacci实现进行比较,以了解它的准确性。 我有一种感觉,如果我只记得涉及非理性数字的相关数学,我可能能够自己解决所有问题(但我没有)。 因此,我的第一步是将其移植到我熟悉的语言中。 在这种情况下,我正在做C#。 幸运的是,我并没有完全处于黑暗中。 我在另一种函数式语言(OCaml)方面有很多经验,所以很多看起来对我来说都很熟悉。 从转换开始,一切看起来都很简单,因为它基本上定义了一个新的数字类型来帮助计算。 然而,我在翻译中遇到了几个障碍,但我在完成翻译时遇到了麻烦。 我的结果完全错了。 分析: 这是我正在翻译的代码: data Ext = Ext !Integer !Integer deriving (Eq, Show) instance Num Ext where fromInteger a = Ext a 0 negate (Ext ab) = Ext (-a) (-b) (Ext ab) + (Ext cd) = Ext (a+c) (b+d) (Ext ab) […]

动态列表的位置

我正在尝试为各种类创建动态filter。 我们只会在运行时知道我们正在处理什么类型。 我需要ColumnName是实际列(不是字符串值)。 有没有一种简单的方法将字符串转换为列? public static List Filter (this List Source, string ColumnName, string TypeOfCompare, string CompValue) { IQueryable matches = Source.AsQueryable(); if (ColumnName.Length > 0) { matches = (IEnumerable)matches.Where(a => ColumnName == CompValue) } List ReturnList2 = new List(); ReturnList2 = matches.ToList(); return ReturnList2; }

如何检查Windows窗体中是否真的可以看到窗口?

通常,您使用Form.Visible来检查Window是否可见。 但有时屏幕窗口在其他窗口下面,所以它真的看不见。 那么如果窗口真的可见,如何检查c#Windows窗体? 我想完成这个:当我在键盘上单击CTRL + K并且我的窗口在我的屏幕上可见时它什么也没做。 但当它在其他窗口下面时,它会弹到顶部(带到前面)。 亲切的问候

Unity的自定义对象工厂扩展

我正在使用Unity IoC容器,我需要拦截对Resolve的任何调用以获取某个基本接口,并运行我自己的自定义代码来构造这些类型。 换句话说,在下面的示例代码中,当我调用container.Resolve() ,如果它没有具体实现类型的实例,则调用MyFactoryFunction来构造一个,否则我希望它返回缓存副本。 标准Unity容器无法构造这些对象( 更新:因为它们是.NET远程处理对象,因此本地计算机上的任何程序集中都不存在具体类),我不想在前面创建它们使用RegisterInstance存储它们。 interface IFoo : IBase { … } interface IFoo2 : IBase { … } … container.Resolve(); … IBase MyFactoryFunction(Type t) { … } 我假设我可以创建一个Unity扩展来执行此操作,但我想知道是否已经有一个解决方案我可以借用。

我该如何处理“CrossThreadMessagingException”?

我有一个简单的代码,通过标签组件在我的GUI中显示时间顺序。 此代码位于计时器的tick事件中。 有时,我得到“Microsoft.VisualStudio.Debugger.Runtime.CrossThreadMessagingException”,我不知道为什么? 我怎么能抓住这个例外? 如何更改我的代码以避免出现此exception? //Calculate and show elapsed time TimeSpan ElapsedTime = DateTime.Now – this.StartTime; this.LabelElapsedTime.Text = String.Format(“{0:00}:{1:00}:{2:00}”, ElapsedTime.Hours, ElapsedTime.Minutes, ElapsedTime.Seconds);