问题列表 - 第15888页

更快速地搜索C#List <String>以获取子字符串

我目前有一个名为regkey的列表和一个名为line_to_delete的字符串,我显然想从列表中删除它.目前我正在搜索列表中的一个元素,一次创建子字符串,因为line_to_delete仅表示我要删除的行的一部分,但在列表中是唯一可识别的.

无论如何,我真正需要做的是提高效率,减少资源使用并加快速度,所以有什么方法可以做到这一点吗?

c# performance list

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

在Windows 2008 Server上通过TFS进行WatiN

我试图通过持续构建TFS来运行WatiN测试,但我无法让它工作.我得到的错误是:

WatiN.Core.Exceptions.IENotFoundException : Could not find an IE window matching constraint: Timeout while waiting to attach to newly created instance of IE.. Search expired after '30' seconds.
     at WatiN.Core.IE.CreateIEPartiallyInitializedInNewProcess()
     at WatiN.Core.IE.CreateNewIEAndGoToUri(Uri uri, IDialogHandler logonDialogHandler, Boolean createInNewProcess)
     at WatiN.Core.IE..ctor(String url, Boolean createInNewProcess)
Run Code Online (Sandbox Code Playgroud)

我读过这可能是原因

  • 对于"localhost"的请求将默认解析为:: 1的IPv6地址,而不是IPv4地址127.0.0.1,WatiN测试将失败.

情况并非如此,因为我正在测试不在本地计算机上的公共URL.

  • IE增强安全配置已打开

我没有任何结果就关掉了.

  • 缺少文件Microsoft.mshtml.dll,Interop.shdocvw.dll或Watin.Core.dll

检查并仔细检查!我在输出目录中有运行测试的那些.

最后和最后的测试是以运行构建的用户身份登录并执行NUnit测试套件并手动运行测试.

C:\Users\TFSSERVICE>"C:\Program Files\Nunit 2.5.2\bin\net-2.0\nunit-console.exe"
 /nologo C:\Users\BUILDSERVICE\AppData\Local\Temp\\Continuous\Binaries\Release
\\WebTests.dll
Run Code Online (Sandbox Code Playgroud)

你猜怎么着!它可以像tfs构建用户一样手动执行它们.那么,我在这里错过了什么?有什么想法为什么它在我运行msbuild引擎时只是保持超时?

欢迎任何想法!的Mikael

.net c# tfs watin windows-server-2008

2
推荐指数
1
解决办法
1435
查看次数

使用xsd将csv转换为xml

我试图找到一种可重用的方法来获取CSV文件并从中生成符合指定XSD的XML文件.我还没有找到一个可重复使用的方法.我使用了Altova MapForce,它允许我导入CSV文件和XSD,进行映射而不是从中生成代码,但是只要XSD发生变化,代码就需要重新生成.Altova也生产了很多代码.

我理想的解决方案是一组Java类,我可以将CSV文件提供给XSD,并从中获取XML文件.我找不到这样的东西,我正在考虑可能创造一些东西.

想法?基于这个问题,这里有什么东西使用XSLT 吗?

谢谢.

xml csv xslt xsd

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

这是一个ExpressionTrees错误吗?

using System;
using System.Linq.Expressions;

class Program
{
  static void Main()
  {
    Expression<Func<float, uint>> expr = x => (uint) x;

    Func<float,uint> converter1 = expr.Compile();
    Func<float,uint> converter2 = x => (uint) x;

    var aa = converter1(float.MaxValue); // == 2147483648
    var bb = converter2(float.MaxValue); // == 0
  }
}
Run Code Online (Sandbox Code Playgroud)

编译Expression.Convert此转换时可以建立相同的不同行为:

Single -> UInt32 Single -> UInt64

Double -> UInt32 Double -> UInt64

看起来很奇怪,不是吗?

<===添加了一些我的研究===>

我看了DynamicMethod使用DynamicMethod Visualizer编译的MSIL代码和一些反射hack来DynamicMethod从编译中获取Expression<TDelegate>:

Expression<Func<float, uint>> expr = x => (uint) …
Run Code Online (Sandbox Code Playgroud)

.net c# expression-trees

11
推荐指数
1
解决办法
363
查看次数

jQuery .live()和Document ready

我正在尝试使用.live()设置CSS样式.CSS功能:

$(".data tr:odd").addClass("evenrows"); 
Run Code Online (Sandbox Code Playgroud)

有没有办法在文档就绪时自动发生,但仍然会在未来的元素中发生?我在页面上有一个重新排序表的ajax事件.我需要这些新创建的行来应用.addClass.

提前致谢.

jquery

5
推荐指数
1
解决办法
6663
查看次数

动态获取属性值

我有一个具有大量属性的对象.我想通过循环遍历对象的属性集合来获取每个属性的值.

我已经研究过PropertyInfo.GetValue()方法,但是在我的上下文中没有多大意义.

这是我正在尝试做的一个例子(这段代码不起作用):

foreach(var item in dataObjects)
  {
    foreach(PropertyInfo prop in item.GetType().GetProperties())
    {
      String value = prop.GetValue().ToString()
    }
  }
Run Code Online (Sandbox Code Playgroud)

我现在意识到获得一个属性的价值并不容易.我错过了什么?我真的不明白我需要传递给GetValue()方法,因为我只想要我正在调用该方法的属性的值.

感谢您为我澄清这一点的任何帮助.我在这里花了几个小时,只是把头撞在桌子上.

c# reflection properties

7
推荐指数
1
解决办法
8963
查看次数

从子类提供抽象类成员变量

从具体子类中提取抽象类中的值的"正确"方法是什么?

即,我应该这样做:

abstract class A {
    private string m_Value;

    protected A(string value) {
        m_Value = value;
    }

    public string Value {
        get { return m_Value; }
    }
}

class B : A {
    B() : this("string value") {}
}
Run Code Online (Sandbox Code Playgroud)

或这个:

abstract class A {

    protected A() { }

    public abstract string Value { get; }
}

class B : A {
    B() {}

    public override string Value {
        get { return "string value"; }
    }
}
Run Code Online (Sandbox Code Playgroud)

或者是其他东西?

如果Value属性仅用于抽象类,是否应该做不同的事情?

.net c# oop abstract-class

6
推荐指数
1
解决办法
8823
查看次数

PHP代码应该在运算符之前有空格吗?

我已经看到很多代码最近格式化如下:

A:

if ($var=='test'){
    $var=Foo('blah'.$var1);
}else{
    // do something
}
Run Code Online (Sandbox Code Playgroud)

我个人不喜欢它,并希望它:

B:

if ($var == 'test') {
    $var = Foo('blah' . $var1);
} else {
    // do something
}
Run Code Online (Sandbox Code Playgroud)

我认为它更具可读性(请注意添加空格).

在社区中是否存在普遍偏好,或者某种方式比另一种更好?

php code-formatting

2
推荐指数
1
解决办法
211
查看次数

谁删除了在构造函数中有异常的"新"操作期间分配的内存?

我真的不敢相信我找不到明确的答案......

在使用new运算符初始化C++类构造函数抛出异常后,如何释放分配的内存.例如:

class Blah
{
public:
  Blah()
  {
    throw "oops";
  }
};

void main()
{
  Blah* b = NULL;
  try
  {
    b = new Blah();
  }
  catch (...)
  {
    // What now?
  }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时,b在catch块中是NULL(这是有道理的).

在调试时,我注意到conrol在它到达构造函数之前进入了内存分配例程.

这在MSDN网站上似乎证实了这一点:

当new用于为C++类对象分配内存时,在分配内存后调用对象的构造函数.

因此,请记住,b永远不会分配局部变量(即在catch块中为NULL),如何删除分配的内存?

得到一个跨平台的答案也很好.即,C++规范说什么?

澄清:我不是在讨论类在c'tor中分配内存然后抛出的情况.我很欣赏在这种情况下,不会召唤人.我在谈论用于分配THE对象的内存(Blah在我的例子中).

c++ constructor memory-leaks exception

49
推荐指数
4
解决办法
1万
查看次数

在四个std :: vector对象中选择具有最多元素的对象

我有四个std :: vector容器,它们都可能(或可能不)包含元素.我想确定哪些元素具有最多元素并随后使用它.

我尝试创建一个std :: map,它们各自的大小作为键,并将这些容器的引用作为值.然后我在每个向量的size()上应用std :: max来计算最大值并通过std :: map访问它.

显然,一旦在至少两个向量中存在相同数量的元素,这就会让我陷入困境.

谁能想到一个优雅的解决方案?

c++ algorithm stdvector

1
推荐指数
2
解决办法
290
查看次数