Tag: .net

是否可以使用查询参数来填充IN关键字

想象一下将GUID作为主键的表。 我想根据主键选择其中一些行。 我想使用如下查询: SELECT * FROM mytable WHERE id IN (‘firstguidhere’,’secondguidhere’); 我使用ADO.NET来查询数据库,所以我想使用参数化查询而不是动态sql,这显然可行,但我想保留参数化查询的好处(安全性,转义等…) 。 是否可以使用sql-parameters填充IN子句的集合?

使用Thread.Sleep短时间的问题

我有一个2线程(现在)的应用程序,但似乎函数Thread.Sleep()不能很好地工作。 它会占用线程,但需要花费更多的时间(例如 – 我想睡5分钟,睡眠时间为0.3秒或更长)。 这是代码: int vlakien = 2; Thread[] vlakna; vlakna = new Thread[vlakien]; for (int i = 0; i < vlakien; i++) { try { vlakna[i] = new Thread(new ThreadStart(utok)); vlakna[i].Start(); } } private void utok() { //some code Thread.Sleep(5); //some code } 此外,我试图在functionutok中使用秒表睡觉它也需要更多时间: Stopwatch SW = new Stopwatch(); SW.Start(); while(SW.ElapsedMilliseconds < 5000) […]

简单划分

我必须做一些愚蠢的事: float ans = (i/3); 那么为什么当i = 7 ,ans出现在2.0? i是一个int

SynchronizationContext.Post到UI方法

我正在使用Web服务,因此我需要扩展会话长度/重新连接并获取大型数据集等。有时这可能很长,所以我希望它在一个单独的线程中异步更新UI。 我似乎无法理解使用synchronizationContext在我的UI线程上调用方法。 我有它,我已经将我的UIThread上下文传递给我的线程,现在我想在UI线程上更新一些标签等。 我已经阅读了大量的post,但似乎没有解释如何简单地将一些参数传递回方法,或者他们可能会这样做,但我太累了/傻到看到它。 //在主UI线程上 public void updateConnStatus(string conn_name, bool connected) { switch (conn_name) { case “Conn” : if (connected == true){ //do something} break; //在单独的线程上 uiContext.Post( //something to do with delegates in here that eludes me ); 如果有人可以简单地解释我如何将sendOrPostCallBack链接到原始方法,我将非常感激。 谢谢 编辑: 我设法让代码运行并尝试触发事件,它填充我的自定义eventArgs好,但要么说它没有实例化updateUIConnStatus,需要更多的调查:o public void updateUIThread(string conn, bool connected) { uiContext.Post(new SendOrPostCallback((o) => { updateConnStatus(this, new […]

回调函数

我有一个名为funct的方法,当我在c#中使用isreceive套接字方法时,我希望将其作为我的回调函数。 s.BeginReceive(buffer, 0, buffer.Length, System.Net.Sockets.SocketFlags.None, new AsyncCallback(funct), null); 我得到的错误是: ‘funct’没有重载匹配委托’System.AsyncCallback’ 这可能是什么问题?

计算Array中的出现次数

我正在计算数组中每个元素的出现但我得到错误“值不能为空”这对我没有意义,因为arr1完全填充没有空值,除了最后5个为null的元素。 这是我的代码。 我是第一次使用字典,所以我可能在某处出现一些逻辑错误。 我正在阅读文本文件。 string[] arr1 = new string[200]; StreamReader sr = new StreamReader(“newWorkSheet.txt”); string Templine1 = “”; int counter = 0; while (Templine1 != null) { Templine1 = sr.ReadLine(); arr1[counter] = Templine1; counter += 1; } sr.Close(); // Dictionary, key is number from the list and the associated value is the number of times […]

使用C#.net在winform中调用和使用Web API

我是初学者并创建winform应用程序。 其中我必须使用API​​进行简单的CRUD操作。 我的客户与我共享了API,并要求以JSON的forms发送数据。 API: http : //blabla.com/blabla/api/login-valida KEY:“HelloWorld” 价值:{“email”:“user@gmail.com”,“密码”:“123456”,“时间”:“2015-09-22 10:15:20”} 响应:Login_id 如何将数据转换为JSON,使用POST方法调用API并获得响应? 编辑 stackoverflow上的某个地方我找到了这个解决方案 public static void POST(string url, string jsonContent) { url=”blabla.com/api/blala” + url; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(baseURL); request.Method = “POST”; System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding(); Byte[] byteArray = encoding.GetBytes(jsonContent); request.ContentLength = byteArray.Length; request.ContentType = @”application/json”; using (Stream dataStream = request.GetRequestStream()) { dataStream.Write(byteArray, 0, […]

全屏Windows窗体超出了屏幕尺寸

我有一个WinForms应用程序(.NET 4),需要全屏显示或无边框最大化。 在Form_Shown事件中使用以下代码: #if (DEBUG) var debug = true; #else var debug = false; #endif this.Text = “”; this.ControlBox = false; this.ShowInTaskbar = true; //this.TopMost = debug; this.TopLevel = true; this.FormBorderStyle = FormBorderStyle.None; if (debug) { this.Bounds = Screen.FromControl(this).WorkingArea; } else { this.WindowState = FormWindowState.Maximized; } 如果仔细观察下面的屏幕截图,顶部和底部区域会被几个像素截断。 此外,如果最大化,窗口仍然不会覆盖任务栏。 请注意,我只连接了一台显示器。 没有辅助显示。 如何处理上述两个问题的任何建议将不胜感激。 更新:上面的代码似乎适用于没有MenuStrip或StatusStrip表单。

从10位数字中获取所有可能的连续4位数字

我正在尝试使用正则表达式从10位数字中获取所有可能的连续4位数字。 喜欢 num = “2345678901”; 输出: 2345 8901 这些简单的正则表达式不起作用: [\d]{4} (\d\d\d\d)

如何在代码中访问x:Name-property – 对于非FrameworkElement对象?

与另一个问题类似,我想通过代码访问对象的x:Name属性,在这种情况下,有问题的对象不是FrameworkElement ,因此没有Name属性。 我也无法访问成员变量。 在我的情况下,我有一个带有命名列的ListView ,并希望扩展ListView类,以便它保持列布局。 对于这个function,我需要命名列,因为其他原因重新使用我需要设置的x:Name属性是有意义的,而不是添加附加的“ColumnName”属性。 我目前的“解决方案”: 期望: 那么有可能以某种方式获得“x:Name”值吗?