Tag: c#

方法返回一个IDisposable – 我应该处理结果,即使它没有分配给任何东西?

这似乎是一个相当简单的问题,但在搜索之后我找不到这个特殊的用例。 假设我有一个简单的方法,比如确定某个进程是否打开了一个文件。 我可以这样做(不是100%正确,但相当不错): public bool IsOpen(string fileName) { try { File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.None); } catch { // if an exception is thrown, the file must be opened by some other process return true; } } (显然这不是确定这一点的最佳甚至是正确的方法 – File.Open会抛出许多不同的exception,所有exception都具有不同的含义,但它适用于此示例) 现在File.Open调用返回FileStream , FileStream实现IDisposable。 通常我们想要在使用块中包装任何FileStream实例的用法,以确保它们被正确处理掉。 但是在我们实际上没有将返回值分配给任何东西的情况下会发生什么? 是否仍然需要处理FileStream ,如下所示: try { using (File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.None)); { /* […]

带有日期的c#datatable select语句

我正在尝试在数据表上创建一个select语句,以获取我正在寻找的日期范围内的行。 我是新手,我不太明白这个选择语句是如何工作的。 我试着写这个但是没有用。 你能帮我一把吗? 我被卡住了 foundRows = dt.Select(“DATE1 = ‘” + date1+ ‘”‘);

在自定义窗口上启动窗口的系统菜单

当您单击应用程序的图标或在应用程序的标题栏上单击鼠标右键时,我想调用ContextMenu 。 这是ContextMenu我的意思是: 我需要它,因为我做了像窗口一样的自定义控件。 我需要这种行为来完成我的控制。 编辑: Leo Lorenzo Luis问我代码: https://skydrive.live.com/?cid=c3392940f5cf5f74&id=C3392940F5CF5F74%21107&authkey=!APd2X3tDxWRfpL4 要么: 我的MainWindow.xaml: <!– –> 我的MainWindow.cs(代码隐藏): using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.Windows.Interop; using System.Windows.Forms; namespace WpfApplication16 { /// /// Interaction logic for […]

XmlSerializer,base64编码一个String成员

考虑一个简单的案例 public class Test { public String myString; } 有什么办法可以告诉XmlSerializer在序列化时对base64编码myString吗?

Roslyn /查找引用 – 无法正确加载Workspace

我正在尝试编写一些代码来查找任何给定方法的所有方法调用,因为我正在寻找创建一个开源UML序列图表工具。 但是,我遇到了麻烦,越过前几行代码:/ API看起来已经发生了巨大的变化,我似乎无法通过查看代码来推断出正确的用法。 当我做: var workspace = new CustomWorkspace(); string solutionPath = @”C:\Workspace\RoslynTest\RoslynTest.sln”; var solution = workspace.CurrentSolution; 我发现workspace.CurrentSolution有0个项目。 我认为这将与之前的Workspace.LoadSolution( string solutionFile )相当,后者可能会包含解决方案中的任何项目,但我没有找到任何成功的路径。 我非常困惑0.o 如果有人可以提供一些关于我如何使用FindReferences API来识别特定方法的所有调用的额外指导,那将非常感谢! 或者,我会更好地采取静态分析方法吗? 我想支持lambdas,iterator方法和async之类的东西。 ================================================== ================== 编辑 – 以下是基于已接受答案的完整示例: using System.Linq; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.MSBuild; using Microsoft.CodeAnalysis.FindSymbols; using System.Diagnostics; namespace RoslynTest { class Program { static void Main(string[] args) { […]

将角色添加到’CreateUserWizard’

嗨(我对此很新), 是否可以在“CreateUserWizard”工具中添加角色,以便勾选框(或在下拉菜单中查看角色),一旦选择了一个或多个,这些信息会自动添加到asp.net配置中吗? 我有以下代码: Create a New Account Username: * Password: * Confirm Password: * E-mail: * Security Question: * Security Answer: * Complete   Your account has been successfully created       谢谢。

当sproc使用RETURN @value时,你可以使用cmd.ExecuteScalar吗?

你能用吗? int blah = Convert.ToInt32(cmd.ExecuteScalar()); 当sproc的最后一个语句执行时: RETURN @value 我只能这样做才能发挥作用: SELECT @value 另外,这给了我一个对象nullexception: int blah = (int)cmd.ExecuteScalar(); 是不是convert.toint32和(int)相同的东西,但一个是另一个的包装?

我成功地从C#调用了advapi32的LsaEnumerateAccountRights()。 现在我如何解组它返回的LSA_UNICODE_STRING数组呢?

它是指向LSA_UNICODE_STRING结构数组的指针。 我找到了一些反向的代码,即从C#字符串创建一个LSA_UNICODE_STRING 。 您可以在下面的帮助程序代码部分中看到。 我所做的包括对LsaEnumerateAccountRights()的调用似乎工作得很好。 为数组指针和计数返回合理的值。 我不知道如何处理那些爆炸的字符串。 请帮忙? 好吗? 更新: nobugz的帮助函数在下面的答案中几乎是正确的,你只需UnicodeEncoding.CharSize来划分长度。 多亏了他,我现在可以在数组中看到FIRST字符串。 请参阅下面两个代码部分末尾的更新。 现在,我是如何做地狱世界的指针运算? 更新2.5:查看function代码的答案。 我丢失了旧的“错误”代码。

如何在Linq-to-XML中按路径查找XML节点

如果我获得特定节点的路径作为字符串,我可以通过使用XElement(或XDocument)的Linq / Method以某种方式轻松找到所述节点。 有很多不同类型的XML对象,如果作为一个额外的奖励,你可以指出我为什么/如何使用不同类型的指南。 编辑:确定在指向XPathSelectElement后我正在尝试它,所以我可以给他正确的答案我不能让它工作但是。 这是我正在尝试的XML SomeName SomeType Alot 和我的代码 string path = “Product/Name”; string name = xml.XPathSelectElement(path).Value; 请注意我的字符串来自其他地方所以我猜它不一定是文字(至少在调试模式下它看起来像上面的那个)。 我也尝试过添加/在前面。 它给了我一个空参考。

最快/最安全的文件查找/解析?

在c: ,我有成千上万的*.foobar文件。 他们在各种各样的地方(即子市场)。 这些文件大小约为1-64 kb,并且是纯文本。 我有一个class Foobar(string fileContents)强类型这些.foobar文件。 我的挑战是获取c:上所有*.foobar文件的列表,表示为Foobar对象的数组。 最快的方法是什么? 我很想知道是否有一种比我的第一种方法更好的方式(毫无疑问),如果我的这种方法有任何潜在的问题(例如I / O并发问题抛出exception?): var files = Directory.EnumerateFiles (rootPath, “*.foobar”, SearchOption.AllDirectories); Foobar[] foobars = ( from filePath in files.AsParallel() let contents = File.ReadAllText(filePath) select new Foobar(contents) ) .ToArray();