Tag: .net

如何通过IDataReader读取图像

我在窗口C#vs05上工作。 我想通过IDataReader读取图像….在oledb ….我怎么能这样做假设我想从数据库列名学生id读取int值然后我以下面的方式编写代码 private IDataReader _reader; public int GetInt32(String sFieldName) { return (_reader[sFieldName]==DBNull.Value)? (Int32) 0 :Convert.ToInt32(_reader[sFieldName]); } 要保存图像,请使用以下代码 DataTable oTable = new DataTable(); oTable.Columns.Add(“BoardImage”); DataRow oRow = oTable.NewRow(); oRow[“BoardImage”] = oItem.BoardImage; SQL= Insert into table oRow[“BoardImage”]; Now i want to read image BY Idatareader ……to do that i write bellow code but i get error […]

Resharper自定义搜索模式以警告IDisposable对象

由于resharper仍未提供有关实现IDisposable的对象的任何警告,我想在resharper 5.0中创建一些自定义搜索模式。 到目前为止我有这个: (并且不介意我在模式中替换注释,我并不关心它,我只是想在处理一次性对象时在代码中有明确的警告。) – – This class implements IDisposable interface. Please use Using statement, or dispose the object manually when done using. $type$ – – This class implements IDisposable interface. Please use Using statement, or dispose the object manually when done using. new $type$($args$) – 这处理变量声明的情况,例如 Bitmap myBitmap = GetBitmap(); private Bitmap _bitmap; 和CTOR电话,例如 […]

有没有办法让.Net JIT或C#编译器优化掉空的for循环?

.NET JIT是否会优化空循环? : 以下程序只运行十亿次空循环并打印出运行时间。 我的机器需要700毫秒,我很好奇是否有办法让抖动优化掉空循环。 using System; namespace ConsoleApplication1 { class Program { static void Main() { var start = DateTime.Now; for (var i = 0; i < 1000000000; i++) {} Console.WriteLine((DateTime.Now – start).TotalMilliseconds); } } } 据我所知,答案是否定的,但我不知道是否有隐藏的编译器选项,我可能没试过。 我确保在发布模式下编译并在没有附加调试器的情况下运行,但仍然需要700毫秒才能运行此空循环。 我也试过NGEN同样的结果(虽然我的理解是它应该产生与JIT相同的编译代码,对吧?)。 但是我以前从未使用过NGEN,可能使用错了。 看起来这对于JIT来说很容易找到和优化,但是对于一般情况下抖动的工作知之甚少,我很好奇是否有一个特定的原因,这种优化会被遗漏。 VC ++编译器肯定似乎做了这个优化,所以我想知道为什么会出现这种差异。 有任何想法吗?

是否可以实现递归“SelectMany”?

众所周知, Enumerable.SelectMany将一系列序列展平为单个序列。 如果我们想要一种能够使序列序列序列变平,等等递归的方法怎么办? 我很快就得到了一个使用ICollection ,即热切评估,但我仍然在考虑如何使用yield关键字制作一个懒惰评估的实现。 static List Flatten(IEnumerable list) { var rv = new List(); InnerFlatten(list, rv); return rv; } static void InnerFlatten(IEnumerable list, ICollection acc) { foreach (var elem in list) { var collection = elem as IEnumerable; if (collection != null) { InnerFlatten(collection, acc); } else { acc.Add((T)elem); } } } 有任何想法吗? 任何.NET语言欢迎中的示例。

DataGridViewCheckBoxCell如何在表单加载期间设置时显示检查

我有一个DataGridView,它从DataTable加载数据,以及DataGridViewCheckBoxCells的未绑定列。 将DataGridView中的行与单独的DataTable与用户已保存的值进行比较,如果匹配,则应检查该行的复选框。 以下是比较值并将复选框值设置为“true”的代码: foreach (int j in selectedObjectives) { foreach (DataGridViewRow r in dgvObjectives.Rows) { if (j == Convert.ToInt32(r.Cells[“ObjectiveID”].Value)) { dgvObjectives.CurrentCell = r.Cells[“Select”]; ((DataGridViewCheckBoxCell)r.Cells[“Select”]).Value = true; //dgvObjectives.InvalidateCell(r.Cells[“Select”]); //dgvObjectives.EndEdit(); //dgvObjectives.CommitEdit(DataGridViewDataErrorContexts.Commit); } if (Convert.ToInt32(r.Cells[“ObjectiveID”].Value) == selectedIndex) { r.Selected = true; } } } 当我在窗体加载private void WQMDrill_Load(object sender, EventArgs e)期间调用方法执行此操作时,值设置正确,但复选框不检查。 但是,在表单完成加载后调用时,代码可以正常工作。 不幸的是,我绝对需要在加载过程中检查这些。 我希望我对我的问题很清楚,对此事的任何帮助都将不胜感激。 如您所见,我试图单独使单元格无效,以及整个DataGridView控件。 我也有 private void dgvObjectives_CurrentCellDirtyStateChanged(object […]

是一对一的关系糟糕的策略

用户总是有一个钱包。 一个钱包总是属于一个用户。 由于我想分离与钱包相关的属性,我创建了Wallet对象并能够跟踪货币交易,…我创建了 public Wallet : Entity { public double Amont {get; set;} public IList Transactions {get; set;} } 因为这显然是一对一的关系,所以可以使用一对一关系进行映射吗? 一对一的坏策略是什么?

我怎么知道枚举中的物品?

在这个问题中 ,我在enum与[Flags]属性之间使用xor运算符如下: [Flags] enum QueryFlag { None = 0x1, ByCustomer = 0x2, ByProduct = 0x4, ByDate = 0x8 } QueryFlag flags = QueryFlag.ByCustomer | QueryFlag.ByProduct; 要添加QueryFlag,我们当然应该使用| 运营商。 flags |= QueryFlag.ByDate; 为了删除一个,我对丹涛的回答有不同的看法 。 我正在使用: flags ^= QueryFlag.ByProduct; 他正在使用: flags &= ~QueryFlag.ByProduct; 显然他的回答是正确的,易于理解。 我以为我弄错了。 但经过深思熟虑,我得到了: a,ba^b a&(~b) 0,0 0 0 0,1 1 0 //the difference 1,0 1 […]

在documentcompleted事件之前禁用从webbrowser控件加载图像

我想阻止页面中的图像加载到WebBrowser控件中。 我希望它在DocumentCompleted事件发生之前发生。 有没有办法做到这一点?

不复制引用的库

我有ProjectA(WPFApplication)引用ProjectB(ClassLibrary) 。 在ProjectB内部我有wpf窗口,它使用来自ThirdParty.dll的控件,因此我从ProjectB引用。 问题是它没有在ProjectA的输出文件夹中找到ThirdParty.dll ,并且引发了xaml解析运行时exceprion。 GAC中没有ThirdParty.dll 。 “本地复制”设置为true。 如果我在ProjectA的输出文件夹中手动添加该库,它也可以工作,如果我在我的cs文件中使用了ThirdParty.dll somwhere它也可以工作。 我怎么解决这个问题?

在Mac上运行Silverlight浏览器外应用程序需要什么?

我认为标题是全部解释。 我想为Windows开发.Net GUI应用程序,它也可以在Mac上运行而不需要太多额外的努力。 我猜WPF在这里不是正确的选择。 无论如何,我该怎么做才能使我的Silverlight浏览器外应用程序在Mac上运行? 只需在该机器上安装Silverlight?