所有问题: [c#-3.0]
466 个问题
如何在字典中找到“第一个”值?
如何在MyTableClass继承Dictionary<int, MyTableClass>的Field<F1, F2, F3>中找到第一个值?我更希望使用“属性”或“属性/方法”组合来返回“字典”中第一个值F1 = MyEnum.value。 我不想做的是foreach。从性能角度来看,这实际上不是首选方法。
一次性班级如何检测正在进行的异常情况?
我有一个实现IDisposable的类 public class Foo: IDisposable { public void Dispose() { // do the disposing } } 然后我有一个以以下方式使用该类的方法: void Bar() { using (var f = new Foo()) { // do whatever } } 当代码离开使用的{...}边界时,将调用Foo类上的Dispose方法。如何在Dispose方法中检测代码是自愿使用块还是由于异常而离开?
从代码段捕获异常的模式(同时不使眼睛流血)
我有一段代码如下: try { classVar = functionCall(input, sEnum.First); classVar = functionCall(input, sEnum.Second); classVar = functionCall(input, sEnum.Third); } catch (Exception ex) { Debug.Assert(false, ex.ToString()); } 但是我的异常剂量显示了它来自哪个特定调用。堆栈跟踪也只显示从函数调用内部调用的另一个类的详细信息。 另一种包装方法是: try ...
检索单个实体+ Ria服务
我正在阅读RIA并做一些RnD,作为新Silverlight项目的解决方案。 我已经阅读了很多文档,并决定使用.Net RIA Services对系统进行小型建模。 我想知道如何从域服务中获取单个实体? 示例: 我想找一个人并填写表格: public Person GetSinglePerson() { return new Person { ID = 4, FirstName = "Cyanide", LastName = "Happiness", Status=3 }; } 假设我使用DomainDataSource: &...
如何在VS 2005和2008中生成HTML API文档?
我已经完成了我的项目,现在是文档时间。到目前为止,我已经能够从项目中生成XML文件。现在,我想从中获取HTML API。但我无法弄清楚。
在两个列表中查找并集和相交项的最快方法
找到两个列表之间的并集和交集的最快方法是什么? 我的意思是。 我有两个清单说 列表<1> 1 2 3 4 Lis <2> 2 3 最后我需要获得输出 列表<3> 未定义 2 3 未定义 希望我很清楚我的要求。 请让我知道我是否感到困惑
在整个数组中使用foreach时如何获取数组单元格位置?
我仍然坚持在XSD生成的类中使用数组,因为我的XML模式对于xsd2code太复杂了,后者创建了基于泛型的生成类。 当在整个数组上使用foreach时,它们有什么办法告诉数组的单元号?在LINQ中有什么办法吗?
使用LINQ处理大型数据集
每次我使用LINQ to SQL编写下面形式的程序时,最终都会得到一个程序,该程序在运行时会捕获越来越多的内存,并且可能在经过多达25,000条记录后落入一个消耗2GB的堆中。我总是最终使用ADO.NET重写它。我在做什么错了? 说明:此问题与处理速度无关;使速度更快的答案没有任何意义。 foreach (int i=0; i<some_big_number; i++) { using (myDC dc = new myDC()) // my DataContext { myRecord record = (from r in dc.my...
LINQ:将文件保存到数据库
我想将pdf和mp3文件保存到SQL Server数据库并能够从中检索。 我仍然从LINQ开始,并且还不掌握它。
需要更改数据列表单元格的背景颜色
我有一个带有itemtemplate的数据列表,其中包含:锚点和href标签。每次用户单击链接时,我都希望将背景色更改为绿色,以便整个单元格看起来都被选中。如果选择了另一个单元格,则先前的背景应清除,而新的单元格应变为绿色。现在所有的td变成绿色一秒钟,然后变成原始颜色。问题是由于DataList控件,我无法获得唯一的ID。有一个唯一的表名,但是所有的td都是相同的。所以有两个问题。 保留背景色 直到用户单击另一个单元格 具有唯一的ID来识别哪个 点击事件选择了该单元格。 我该怎么做?请帮忙。 <asp:DataList ID="DL1" ItemStyle-Width...
扩展IQueryable以返回属性包含字符串的对象
我看到很多类似于以下的代码 var customrs = MyDataContext.Customers.Where(...); if (!String.IsNullOrEmpty(input)) { customers = customers.Where(c => c.Email.Contains(input)); } 我想将其放在扩展方法中,该方法在调用IQueryable上的Where之前检查输入是否有效,以便像这样调用它 customers = MyDataContext.Customers.Where(...) .ContainsText(c =&g...
将绝对路径转换为客户端相对路径
如何使用ASP.NET将绝对路径转换为相对客户端路径? 例如:今天我有一个这样的地址:'c:\ web \ site \ images \ somefile.some',我想转换为“ /site/images/somefile.some”,值得一提的是“站点”,“图像”和somefile.some可能会更改。
使用对象初始化程序时,编译器为什么会生成额外的局部变量?
昨天我在SO上回答问题时,我注意到,如果使用对象初始化程序初始化对象,则编译器会创建一个额外的局部变量。 考虑以下在VS2008中以发布模式编译的C#3.0代码: public class Class1 { public string Foo { get; set; } } public class Class2 { public string Foo { get; set; } } public class TestHarness { static void Main(string[] args) { Class1 class1...
itextsharp“对象引用未设置为对象的实例”错误
我有以下代码。在我的开发环境中,我没有任何错误,但是在生产环境中,我却得到了。 ... private Document _pdf; public Report() { _pdf = new Document(); } public string GenerateReport(string reportType) { try { var fs = new FileStream("C:\myfile.pdf", FileMode.Create); _pdfWrit...
在对象层次结构中检查null
我有一个很大的C#(3.0)对象结构,该结构源于反序列化的XML文档。我需要知道层次结构深处的变量是否为空。我现在这样做的方法是检查下行所有父对象是否为null,但这会导致if语句的长时间重复。 我正在努力避免昂贵的try-catch块。 有更聪明的方法吗? 修改: 例如,在将XML应用程序表单反序列化为对象层次结构之后, applicationForm.employeeInfo.workingConditions.salary 但是要安全找出原因,我必须写类似的东西 if (applicationForm.employeeInfo != null) if (a...
DataRow索引器的时间复杂度是多少?
在DataRow实例中按名称访问列的时间复杂度是多少? object Foo(DataRow row, string columnName) { // What is the time complexity of the below line O(1) / O(n) / ? return row[columnName]; }
何时必须为IEnumerable扩展方法指定类型<t>?</t>
对于所有IEnumerable<T>扩展方法的使用我有点困惑,intellisense总是要求<T>,但我认为没有必要始终指定<T>。 假设我有以下内容: List<Person> people = GetSomePeople(); 这是怎么回事: List<string> names = people.ConvertAll<string>(p=>p.Name).Distinct<string>().ToList<string>(); 与此不同: List<...
TextTransform.exe似乎只接受旧版本的C#
当我在Visual Studio中扩展T4模板时,我可以使用完整的C#3.0语法,包括LINQ表达式等。当我使用TextTransform.exe在Visual Studio之外扩展它时,它会抱怨LINQ表达式和C#3.0的其他新功能。是否有更新版本的TextTransform.exe? 我正在跑步的那个在: C:\Program Files\Common Files\Microsoft Shared\TextTemplating.2\TextTransform.exe
System.Drawing.Image流C#
我的程序中有System.Drawing.Image。该文件不在文件系统中,而是保存在内存中。我需要从中创建一个流。我将如何去做?
LINQ to SQL找不到关键成员。仅在服务器上失败
我有一个场景,我将从局部linq中的抽象类继承到sql自动生成的类实现。我的基本抽象类具有一个名为ID的抽象属性,该属性已在LINQ to SQL模型中使用实例修饰符覆盖进行了标记。这在本地工作正常,没有任何问题。我也在另一台机器上进行了一些开发,并且在那台机器上也可以正常工作(在VS2008中和使用Subversion都可以)。我正在使用TeamCity运行CI,并且构建成功并根据需要进行部署。问题是服务器第一次尝试通过LINQ to SQL数据上下文访问数据库时,会产生以下错误。 “在类型'CustomType'上找不到密钥'Id'的密钥成员'Id'。密钥可能是错误的,或者...
将XDocument绑定到WPF并仍使用XPath?
这是一个两部分的问题。 1)是否可以在不使用ObjectDataProvider的情况下将XDocument绑定到WPF控件? 这是XmlDocument可以在其中工作的代码段,但是我不能使用XDocument XmlDataProvider provider = new XmlDataProvider(); provider.XPath = "/Parent/Child"; provider.Document = mydoc; // xmldocument works fine. Binding binding = new Binding();...
“ is”关键字的C#使用模式
C#键盘“是”的常见用法和非常见用法是什么?我最近用它来计算类型化数组中已用单元的数量(由于xsd2code在IETF设计的架构中存在很多问题,因此没有泛型,因此仍然停留在xsd生成的类的底部)。 提供了其他哪些常见且更重要的常见使用模式。
IronRuby使用变量时的性能问题
这是使用IronRuby的非常简单的表达式求值器的代码 public class BasicRubyExpressionEvaluator { ScriptEngine engine; ScriptScope scope; public Exception LastException { get; set; } private static readonly Dictionary<string, ScriptSource> parserCache = new Dictionary<string, Scr...
参数化DllImport以在C#应用程序中使用
我们有一个供应商,该供应商提供了用于访问其硬件的库。不幸的是,如果您有多个设备,则需要使用不同的dll名称多次导入其库。结果,我们有大量的重复代码,我担心这很快将成为维护的噩梦。 我们目前拥有的东西是这样的: namespace MyNamespace { public static class Device01 { public const string DLL_NAME = @"Device01.dll"; [DllImport(DLL_NAME, EntryPoint = "_function1")] public s...
在C#中,如何从byte []知道文件类型?
我从上传的文件中填充了一个字节数组。但是,在代码的另一部分中,我需要知道从byte []上传的文件类型,以便可以将正确的内容类型呈现给浏览器! 谢谢!
回复:如何显示复选框!
我需要帮助弄清楚如何在asp:Panel中显示复选框。我需要2列,数据来自数据库。 这是代码段: <asp:Panel ID="pnl1" runat="server"> <asp:CheckBoxList ID="cbProduct" runat="server" DataSourceID="dsProductNames" DataTextField="'<%# Eval("product_name") %>'" RepeatColumns="2" CellPadding="0" CellSpacing="0" Cs...
本地数据缓存-如何强制与数据库完全同步?
我的asp.net 3.5应用程序中有一个本地数据缓存。我有时会注意到这一点,尤其是在开发过程中,我的本地数据库将与服务器不同步。我理解原因,可以通过以下步骤重现它: 1- Start the app 2- Make a change 3- Sync changes with server 4- Start the app again, thus forcing the app to use a new copy of the local .SDF file. 我以前所做的更改显然已经消失了,但是当我与服务器同步时,它们不会被下拉。我的猜测是,该应用程序无法检测到数据库不同步...
本地数据缓存-将字段添加到远程数据库时,如何刷新本地数据库?
我在ASP.NET 3.5环境中使用本地数据缓存。我通过添加新字段在主数据库中进行了更改。 我在项目中双击.SYNC文件,以再次启动“本地数据缓存”向导。向导启动,然后单击“确定”,希望它可以重新查询数据库并将新字段添加到本地数据库文件中。 相反,我收到一条错误消息:“同步数据库失败并显示以下消息:无法枚举DbServerSyncProvider上的更改...” 我知道让事情再次起作用的唯一方法是删除.SYNC文件以及本地数据库,然后从头开始。 必须有一种更简单的方法……有人知道吗?