Tag: C#的

最好的方法来检查一个数据表是否有一个空值

检查数据表是否有空值的最好方法是什么? 在我们的场景中,大多数情况下,一列将全部为空值。 (这个数据表由第三方应用程序返回 – 我们正在尝试在我们的应用程序处理数据表之前进行调用)

System.Type和System.RuntimeType在C#中有什么区别?

我正在尝试今天进行一些常规testing,并在汇编时(通过调用Assembly.GetTypes() )获取所有types,当我偶然发现某些东西时: System.RuntimeType:[First.Namespace.FirstClass] 每当我尝试比较typeof(FirstClass)types,他们是不相等的。 所以,当我试图find所有包含FirstClasstypes作为generics参数,我没有find任何。 System.RuntimeType和System.Type什么区别? 有什么办法可以解决我的问题吗?

何时使用Cast或Convert

我很好奇,知道什么之间的差异之间的演员说一个int相比,使用Convert.toInt32()。 使用一个有什么样的性能增益? 还应该分别使用哪种情况。 目前我更倾向于使用转换,但我没有理由去任何方式。 在我看来,我看到他们都实现了同样的目标。

我如何读取文本文件而不locking它?

我有一个Windows服务以简单的格式将其日志写入文本文件。 现在,我将创build一个小应用程序来读取服务的日志,并将现有日志和添加的日志显示为实时视图。 问题是该服务locking文本文件以添加新行,同时查看器应用程序locking文件以供阅读。 服务代码: void WriteInLog(string logFilePath, data) { File.AppendAllText(logFilePath, string.Format("{0} : {1}\r\n", DateTime.Now, data)); } 查看器代码: int index = 0; private void Form1_Load(object sender, EventArgs e) { try { using (StreamReader sr = new StreamReader(logFilePath)) { while (sr.Peek() >= 0) // reading the old data { AddLineToGrid(sr.ReadLine()); index++; } sr.Close(); } timer1.Start(); } catch […]

转义HTML的文本

我如何转义文本的HTML在C#中使用? 我想要做 sample="<span>blah<span>" 并拥有 <span>blah<span> 显示为纯文本而不是纯粹的HTML标签的一部分:(使用C#不是ASP

在Cstring前面的“L”是什么意思?

this->textBox1->Name = L"textBox1"; 虽然它似乎没有L工作,这个前缀的目的是什么? 它的使用方式对于硬核C程序员来说是没有意义的。

通过索引获取列表项

我最近开始使用从Java转移的C#。 我似乎无法find如何通过索引获取列表项目。 在java中获取列表中的第一项将是: list1.get(0); 什么是在C#中的等效?

这些对象是堆栈上还是堆上的引用?

如果有人能告诉我我是否理解,我会很感激: class X { A a1=new A(); // reference on the stack, object value on the heap a1.VarA=5; // on the stack – value type A a2=a1; // reference on the stack, object value on the heap a2.VarA=10; // on the stack – value type } 另外, a1和a2引用都在堆栈上,而它们的“对象”值在堆上。 但是VarAvariables呢,还是纯粹的值types呢? class A { int VarA; }

编程方式鼠标在另一个窗口中单击

是否可以通过编程方式在另一个窗口中单击某个位置,而无需将鼠标移动到该位置,即使窗口不在顶部? 我想发送一种消息到另一个窗口模拟鼠标点击一个位置。 我试图用PostMessage完成这个工作: PostMessage(WindowHandle, 0x201, IntPtr.Zero, CreateLParam(300,300)); PostMessage(WindowHandle, 0x202, IntPtr.Zero, CreateLParam(300,300)); 我这样做了CreateLParam函数: private static IntPtr CreateLParam(int LoWord, int HiWord) { return (IntPtr)((HiWord << 16) | (LoWord & 0xffff)); } 问题是窗口被locking在他的位置上。 我认为我的应用程序点击(1,1)坐标。 可以帮助我解决这个问题吗? 编辑:这是PostMessage: [return: MarshalAs(UnmanagedType.Bool)] [DllImport("user32.dll")] public static extern bool PostMessage(IntPtr WindowHandle, int Msg, IntPtr wParam, IntPtr lParam); 而0x201和0x202分别是WM_LBUTTONDOWN和WM_LBUTTONUP。

如何获取和设置在C#中的另一个应用程序的窗口位置

我怎样才能获得和设置使用C#的另一个应用程序的位置? 例如,我想获得记事本的左上angular坐标(假设它在100,400处浮动),并且这个窗口的位置是0,0。 什么是最简单的方法来实现呢?