Tag: c# 4.0

EPPlus将Excel Spreadsheet列转换为随机负值

我有一个C#方法,请参阅下面的代码,它使用EPPlus生成Excel电子表格。 该方法接受3个字符串,其中一个是名为csv的管道分隔字符串,其中包含我的数据。 我正在使用的数据有14列,在第14列中我的数据看起来像是:103.01.06,或01.01,或者用句点分隔的一些其他数值。 我看到的问题是,如果值为103.01.06,则EPPlus将其转换为值-656334。 有办法解决这个问题吗? private void GenerateSpreadsheet(string id, string csv, string worksheetName) { using (ExcelPackage pck = new ExcelPackage()) { ExcelWorksheet ws = pck.Workbook.Worksheets.Add(worksheetName); ws.Cells[“A1”].LoadFromText(csv, new ExcelTextFormat{Delimiter = ‘|’}); Response.AddHeader(“Content-Disposition”, String.Format(“attachment; filename={0}.xlsx”, id)); Response.ContentType = “application/vnd.openxmlformats-officedocument.spreadsheetml.sheet”; Response.ContentEncoding = System.Text.Encoding.GetEncoding(“utf-8”); Response.BinaryWrite(pck.GetAsByteArray()); Response.End(); } }

如何在C#中使用DynamicObject实现事件访问器

我正在尝试使用C#的DynamicObject为Qt的类系统实现一个通用的Wrapper-Class。 但是,我想写下面的代码: dynamic obj = new SomeWrapperClass(….); // This extends DynamicObject obj.OnMyEvent += (Action)(() => Console.WriteLine(“DO something!”)); 以上是根据VS2010的有效代码(需要显式转换为Action),但是我如何使用DynamicObject的方法“捕获”该语句? 我尝试实现TryGetMember()并为语句调用它,但我不知道我必须返回什么才能使它工作。 任何提示?

重用LINQ查询会导致另一个LINQ查询,而无需重新查询数据库

我的情况是我的应用程序根据用户指定的过滤条件使用PredicateBuilder构建动态LINQ查询( 除了:查看此链接以获得最佳EF PredicateBuilder实现 )。 问题是这个查询通常需要很长时间才能运行,我需要此查询的结果来执行其他查询(即,将结果与其他表连接)。 如果我正在编写T-SQL,我会将第一个查询的结果放入临时表或表变量中,然后围绕它写出我的其他查询。 我想从第一个查询中获取ID列表(例如, List query1IDs ),然后执行以下操作: var query2 = DbContext.TableName.Where(x => query1IDs.Contains(x.ID)) 这将在理论上起作用; 但是, query1IDs的ID query1IDs可以是数百或数千 (并且LINQ表达式x => query1IDs.Contains(x.ID)被转换为T-SQL“IN”语句,这是显而易见的原因) TableName中的行数以百万计 。 有没有人对处理这种情况的最佳方法有任何建议? 编辑1:关于我正在做什么的补充说明。 好的,我正在构建我的第一个查询(query1),它只包含我感兴趣的ID。基本上,我将使用query1来“过滤”其他表。 注意:我没有在LINQ语句的末尾使用ToList() —此时不执行查询,并且没有结果发送到客户端: var query1 = DbContext.TableName1.Where(ComplexFilterLogic).Select(x => x.ID) 然后我使用query1并使用它来过滤另一个表(TableName2)。 我现在把ToList()放在这个语句的末尾,因为我想执行它并将结果带到客户端: var query2 = (from a in DbContext.TableName2 join b in query1 on a.ID equals b.ID select new […]

使用c#递归地构建具有父子关系的树

我有一个列表,我想转换为树结构。 如何将其转换为树形结构? 我通过递归检查父子关系C# thread查看了构建树类型列表,但由于我的类中的键是字符串,我不能使用该解决方案。 请帮忙 internal class Program { private static void Main(string[] args) { List nodeList = new List(); node n = new node(“A”, “A1”, null, 1); nodeList.Add(n); n = new node(“B”, “A2”, “A1”, 2); nodeList.Add(n); n = new node(“C”, “A3”, “A1”, 2); nodeList.Add(n); n = new node(“D”, “A4”, “A1”, 2); nodeList.Add(n); n = […]

在.NET 4.0中将WebClient转换为TPL?

我有以下webclient代码, public static void PostDataAsync(string url, NameValueCollection parameters, object state, Action callback) { var client = new WebClient(); client.Headers[HttpRequestHeader.ContentType] = “application/x-www-form-urlencoded”; client.UploadValuesCompleted += new UploadValuesCompletedEventHandler(callback); client.UploadValuesAsync(new Uri(url), null, parameters, state); } 我想将其转换为Task。 我试图使用Task.Factory.FromAsync执行此操作但失败了

.NET 4.0比早期版本慢,是真的吗?

可能重复: .NET 4.0 Runtime比.NET 2.0 Runtime慢吗? 大家好, 我们计划很快转移到.NET framework 4.0 …我不记得引用或链接,但最近,我读到了与其前辈相比,最新的框架性能有点慢。 真的吗? 有没有人做过任何测试或有一些有效的论据来支持这个?

inheritance最派生类型的抽象类

不幸的是,我找不到导致我这个问题的原始项目。 那可能会给这个问题带来更多背景。 编辑:我发现原始项目我已经看到了这个: http : //mews.codeplex.com/SourceControl/changeset/view/63120#1054567 ,具体实现在: http : //mews.codeplex.com/SourceControl /变更/视图/ 63120#1054606 让我们说我有一个抽象类,具体实现了一些有用的东西: abstract class AbstractClass { public virtual int ConvertNumber(string number) { string preparedNumber = Prepare(number); int result = StringToInt32(number); return result; } protected abstract string Prepare(string number); protected virtual int StringToInt32(string number) { return Convert.ToInt32(number); } } sealed class ConcreteClass : AbstractClass { […]

.NETgenerics:如何在运行时解析类型T?

让我在下面的例子中解释一下我正在解决的问题: class Animal {} class Cat: Animal {} class Dog : Animal { } interface IAnimalHandler where T: Animal { void Handle(T animal); } class AnimalHandler : IAnimalHandler, IAnimalHandler { public void Handle(Cat animal) { Console.Write(“it’s a cat !”); } public void Handle(Dog animal) { Console.Write(“it’s a dog !”); } } 所以现在我想通过所有动物并运行这样的适当处理程序: var ah = […]

在C#/ .NET中检测图像URL

有没有办法可以检测到图片url,例如: http://mysite.com/image.jpg 但是还有其他格式吗? 我在.NET 4.0中使用C#。 就像是 bool isImageUrl(string URL){ } 编辑我的意思是如果URL指向图像。 例如,URL http://mysite.com/image.jpg 是一个有效的图像,但是 http://mysite.com/image 不是。

相同的变量名称 – 2个不同的类 – 如何将值从一个复制到另一个 – reflection – C#

不使用AutoMapper …(因为当他们看到依赖项时,负责这个项目的人会打砖块) 我有一个类(A类),但有很多属性。 我有另一个类(B类)具有相同的属性(相同的名称和类型)。 B类也可能有其他无关的变量。 是否有一些简单的reflection代码可以将值从A类复制到B类? 越简越好。