小编t3r*_*rse的帖子

最快从集合转换为列表<T>

我想避免的:

ManagementClass m = new ManagementClass("Win32_LogicalDisk");

ManagementObjectCollection managementObjects = m.GetInstances();

List<ManagementObject> managementList = new List<ManagementObject>();

foreach(ManagementObject m in managementObjects){

    managementList.Add(m);

}
Run Code Online (Sandbox Code Playgroud)

有没有办法将该集合放入一个看起来像这样的列表:

List<ManagementObject> managementList = new List<ManagementObjec>(collection_array);
Run Code Online (Sandbox Code Playgroud)

c# collections

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

ADO.NET实体框架与NHibernate

所以ADO.NET实体框架已经受到了一些不好的压力(以博客条目和请愿的形式),但我不想急于做出判断.我在实验方面的时间有限,但我想知道有没有人与它合作过更多的经验反馈?

最后,关于使用NHibernate的想法是什么,它已经存在了很长时间,可能比ADO.NET实体框架更成熟.

nhibernate orm ado.net entity-framework

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

将JVM/JRE设置为自动使用Windows代理

我确实看到了关于为JVM设置代理的问题,但我想问的是如何利用已经配置的代理(在Windows上).

这是我的问题的演示:

  1. 转到控制面板 - > Java并设置代理地址.
  2. 运行以下简单的applet代码(我正在使用Eclipse IDE):
import java.awt.Graphics;
import javax.swing.JApplet;
import java.util.*;

public class Stacklet extends JApplet {
    private String message;
    public void init(){
        Properties props = System.getProperties();
        message = props.getProperty("http.proxyHost", "NONE");      
        message = (message.length() == 0)? "NONE": message;
    }

    public void paint(Graphics g)
    {
        g.drawString(message, 20, 20);
    }
}
Run Code Online (Sandbox Code Playgroud)

Applet显示"NONE",而不考虑您在Java控制面板中放置的设置.如果Windows代理设置(通常在Internet Explorer中设置)是我可以确定的,但在Java控制面板中执行额外的配置步骤仍然是可接受的解决方案,那将是最好的.

谢谢!

java proxy jvm

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

用Func递归

是否可以使用Func委托进行递归?我有以下,不编译,因为Func的名称不在范围内...

Func<long, long, List<long>, IEnumerable<long>> GeneratePrimesRecursively = (number, upperBound, primeFactors) => 
{
    if (upperBound < number)
    {
        return primeFactors;
    }
    else
    {
        if (!primeFactors.Any(factor => number % factor == 0)) primeFactors.Add(number);
        return GeneratePrimesRecursively(++number, upperBound, primeFactors); // breaks here.
    }
};
Run Code Online (Sandbox Code Playgroud)

c# recursion primes

27
推荐指数
1
解决办法
4699
查看次数

Silverlight Crossdomain

我已经看到很多MSDN链接,"可以在我的机器上运行!" 答案所以我想问一下我的问题是否有重复我正在做的事情的确切步骤.因为我们正在使用已经存在的Web服务,所以我要问的是在我的项目之外托管web服务的上下文,与在线的许多教程和视频不同.所以这里:

***创建一个新的ASP.NET Web服务项目.

它将带有一个现有的Service.asmx文件,它暴露了一个"HelloWorld"Web方法.

在浏览器中查看,点击"调用"按钮.它应该返回"Hello World"字符串.

在我的机器上,URL为:" http:// localhost:15511/WebSite5/Service.asmx "

***启动Visual Studio的新实例,创建Silverlight Web应用程序项目.

***使用事件处理程序在其上粘贴一个按钮以调用Web服务.我个人核对Grid并使用一个简单的StackPanel.例如.

<UserControl x:Class="SilverlightApplication1.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Width="400" Height="300">
    <StackPanel>
        <Button Click="Button_Click">
            <Button.Content>
                <TextBlock Text="Test"/>
            </Button.Content>
        </Button>
    </StackPanel>
</UserControl>
Run Code Online (Sandbox Code Playgroud)

使用Button_Click的语句和事件处理程序添加Web引用:

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        ServiceSoapClient client = new ServiceSoapClient();
        client.HelloWorldCompleted += (object s, HelloWorldCompletedEventArgs ea) => { 
            MessageBox.Show(ea.Result); 
        };
        client.HelloWorldAsync();
    }
Run Code Online (Sandbox Code Playgroud)

运行,当然,由于跨域问题,它会爆炸.接下来,将带有以下内容的clientaccesspolicy.xml文件添加到托管服务的Web应用程序的根目录:

<?xml version="1.0" encoding="utf-8" ?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*">
        <domain uri="*"/>
      </allow-from>
      <grant-to>
        <resource include-subpaths="true" path="/"/>
      </grant-to>
    </policy> …
Run Code Online (Sandbox Code Playgroud)

silverlight cross-domain

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

TSQL中的Null Character文字是什么?

我想知道NQL字符的文字(例如'\ 0')在TSQL中是什么.

注意:不是NULL字段值,而是空字符(请参阅链接).

我有一个混合了典型和空字符的列.我正在尝试用不同的值替换空字符.我本以为以下方法可行,但不成功:

select REPLACE(field_with_nullchar, char(0), ',') from FOO where BAR = 20
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

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

哪个环境,IDE或解释器投入实践计划?

我一直在通过The Little Schemer,我想知道什么环境,IDE或者解释器最好用来测试我为自己记下的任何Scheme代码.

lisp ide scheme the-little-schemer

18
推荐指数
3
解决办法
7880
查看次数

XPATHS和默认命名空间

XPath背后的故事是什么以及对名称空间的支持?XPath作为规范在命名空间之前吗?如果我有一个文档,其中元素已被赋予默认命名空间:

<foo xmlns="uri" />
Run Code Online (Sandbox Code Playgroud)

似乎某些XPath处理器库//foo由于名称空间而无法识别,而其他库将会识别.我的团队所考虑的选项是使用正则表达式向XPath添加名称空间前缀(可以通过XmlNameTable添加名称空间前缀),但这似乎很脆弱,因为在节点测试时XPath是一种非常灵活的语言.

是否有适用于此的标准?

我的方法有点hackish但似乎工作正常; 我xmlns用搜索/替换删除声明,然后应用XPath.

string readyForXpath = Regex.Replace(xmldocument, "xmlns=\".+\"", String.Empty );
Run Code Online (Sandbox Code Playgroud)

这是一种公平的方法还是有人以不同方式解决了这个问

c# xml xpath namespaces

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

动态创建模板的泛型类型

我正在使用ChannelFactory编写WCF,它需要一个类型来调用CreateChannel方法.例如:

IProxy proxy = ChannelFactory<IProxy>.CreateChannel(...);
Run Code Online (Sandbox Code Playgroud)

在我的情况下,我正在做路由,所以我不知道我的渠道工厂将使用什么类型.我可以解析一个消息头来确定类型,但我在那里碰到了一堵砖墙,因为即使我有一个Type I实例也无法传递ChannelFactory期望泛型类型的实例.

用非常简单的术语重述这个问题的另一种方法是我试图做这样的事情:

string listtype = Console.ReadLine(); // say "System.Int32"
Type t = Type.GetType( listtype);
List<t> myIntegers = new List<>(); // does not compile, expects a "type"
List<typeof(t)> myIntegers = new List<typeof(t)>(); // interesting - type must resolve at compile time?
Run Code Online (Sandbox Code Playgroud)

我可以在C#中使用这种方法吗?

c# generics

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

将Structs与WCF服务一起使用

有没有关于使用结构作为WCF服务的返回类型的官方建议?

我目前正在与一项我没有写过的服务进行互动,并发现自己受到启发,要求查看我的烦恼是否合理.

我过去总是使用类 - 可能部分是因为这是样本总是显示的,但正如我现在想的那样,出于其他"直观"的原因:

  • 我通过定义一个单独的项目来开始合同样式,该项目的接口表示服务来回传递的类型.

  • 我使用LINQ很多,因此对于可空性的测试是隐含的引用类型,而对于结构和其他值类型,我总是需要标记为可空.

虽然我承认它比我脑子里的项目符号列表更直观,但有些东西会马上来找我.我想问这个问题,因为我正在处理一个返回结构的服务,并且在处理返回值时必须写:

var foo = Bar.Value.MyField;
Run Code Online (Sandbox Code Playgroud)

代替

var foo = Bar.Value;
Run Code Online (Sandbox Code Playgroud)

c# wcf struct value-type

14
推荐指数
1
解决办法
8258
查看次数