小编Arl*_*ler的帖子

在Javascript中查找对象数组中的值

我之前已经问过类似的问题,但这个问题有点不同.我有一个未命名的对象数组,其中包含一个命名对象数组,我需要获取"name"为"string 1"的对象.这是一个示例数组.

var array = [
    { name:"string 1", value:"this", other: "that" },
    { name:"string 2", value:"this", other: "that" }
];
Run Code Online (Sandbox Code Playgroud)

更新:我应该早些说过,但是一旦找到它,我想用一个编辑过的对象替换它.

javascript arrays

320
推荐指数
12
解决办法
58万
查看次数

用户控制与Windows窗体

Visual Studio中的用户控件和Windows窗体有什么区别 - C#?

c# visual-studio winforms

54
推荐指数
2
解决办法
5万
查看次数

如何在c#中触发事件之前阻塞

在提出这个问题之后,我想知道是否可以等待事件被触发,然后获取事件数据并返回其中的一部分.有点像:

private event MyEventHandler event;
public string ReadLine(){ return event.waitForValue().Message; }
...
event("My String");
...elsewhere...
var resp = ReadLine();
Run Code Online (Sandbox Code Playgroud)

请确保您提供的任何解决方案都直接返回值,而不是从其他地方获取.我问的是上面的方法是否以某种方式可用.我知道Auto/ManuelResetEvent,但我不知道他们像我上面那样直接返回值.

更新:我使用MyEventHandler(包含一个Message字段)声明了一个事件.我在另一个线程中有一个方法,叫做ReadLine等待事件触发.当事件触发WaitForValue方法(事件处理场景的一部分)时,返回包含消息的事件args.然后,ReadLine将消息返回给任何调用它的消息.

接受答案这个问题我问的是我做什么,但它只是感觉并不完全正确.几乎感觉ManuelResetEvent触发和检索数据并返回它的程序之间的数据可能会发生.

更新:主要问题Auto/ManualResetEvent是它太脆弱了.线程可以等待事件,然后在将其更改为其他内容之前,没有足够的时间让其他人获取它.有没有办法使用锁或其他东西?也许使用get和set语句.

c# events

54
推荐指数
2
解决办法
9万
查看次数

如何在WinForms中旋转图片

我希望在我的应用程序中有一张图片,我可以旋转以指示方向,如风向.甚至是时间.我用什么代码来旋转图片?谢谢

更新:我使用的是.NET 2.0,Windows 2000,VS C#2005

c# image winforms

41
推荐指数
6
解决办法
10万
查看次数

36
推荐指数
4
解决办法
21万
查看次数

IF语句中的OR运算符是什么

在C#中,如何指定OR:

if(this OR that) {do the other thing}
Run Code Online (Sandbox Code Playgroud)

我在帮助中找不到它.

更新:

我的代码是:

if (title == "User greeting" || "User name") {do stuff}
Run Code Online (Sandbox Code Playgroud)

我的错误是:

错误1运算符'||' 不能应用于'bool'和'string'类型的操作数C:\ Documents and Settings\Sky View Barns\My Documents\Visual Studio 2005\Projects\FOL Ministry\FOL Ministry\Downloader.cs 63 21 FOL Ministry

c#

33
推荐指数
7
解决办法
13万
查看次数

对于C#中的匹配,Regex实例线程是否安全?

我有这个正则表达式,我正在使用Parallel.ForEach<string>.安全吗?

Regex reg = new Regex(SomeRegexStringWith2Groups);
Parallel.ForEach<string>(MyStrings.ToArray(), (str) =>
{
    foreach (Match match in reg.Matches(str)) //is this safe?
        lock (dict) if (!dict.ContainsKey(match.Groups[1].Value))
            dict.Add(match.Groups[1].Value, match.Groups[2].Value);
});
Run Code Online (Sandbox Code Playgroud)

c# regex .net-4.0

28
推荐指数
1
解决办法
5748
查看次数

在线程中设置全局变量 - C#

我有一个HTTP服务器,我正在使用HTTP侦听器编写,我想以某种方式声明某些变量可以从一个线程内的任何地方访问.

  • 我的webserver类是基于实例的,所以我不能真正使用静态变量.
  • 我可以使用实例变量,因为所有代码都在一个类中,但是......我不知道.

我想过使用字典:Dictionary</*[type of Thread ID here]*/,ThreadData>但是我担心可能存在线程问题.ThreadData可能是一个类的实例,但我可能会使用一个结构,取决于哪个会更有效.

  • 如果我将字典键入线程ID并对其进行编程,以便一个线程在字典中询问自己的条目,那么在访问字典时是否会出现与线程相关的问题?
  • 每个线程都会添加自己的条目.在添加新的线程项时,我是否必须锁定字典?如果是这样,我是否能够使用单独的锁对象来允许线程同时访问自己的数据?

使用并发字典会有优势吗?还有另一种更安全的线程方式吗?

我目前正在使用ThreadPool.QueueUserWorkItem.我不确定这会为每个项目使用一个新线程.如果没有,那么我也可以将它键入上下文.

更新:根据ThreadPool类 - MSDN,它确实重用了线程.它并没有清除线程数据.

当线程池重用线程时,它不会清除线程本地存储中或使用ThreadStaticAttribute属性标记的字段中的数据.因此,当方法检查线程本地存储或使用ThreadStaticAttribute属性标记的字段时,它找到的值可能会从先前使用的线程池线程中遗留下来.

c# .net-4.0 thread-safety

23
推荐指数
2
解决办法
2万
查看次数

什么是C#中的类和模块

有人可以解释一个类和一个模块之间的区别.你什么时候使用一个?我正在使用C#.

更新:我的意思是VB模块的C#等价物.

c# module class

20
推荐指数
4
解决办法
2万
查看次数

在HTML中打开弹出窗口

我正在使用网络应用程序,我想知道是否有办法在使用HTML的应用程序类型窗口中打开链接?像这样的东西:

<a href="link" target="_app">My App</a>
Run Code Online (Sandbox Code Playgroud)

html

15
推荐指数
3
解决办法
13万
查看次数