小编mic*_*ael的帖子

命令提示符 - 如何仅为执行的批处理文件添加设置路径?

基本上,我知道我可以通过我的控制面板并修改路径变量.但是,我想知道是否有办法通过批量编程包含一个临时路径?这样它只在批处理文件执行期间使用.我不想让人们进入并修改他们的路径变量只是为了使用我的批处理文件.

command path batch-file command-prompt

165
推荐指数
3
解决办法
52万
查看次数

LINQ函数的顺序是否重要?

基本上,正如问题所述...... LINQ函数的顺序在性能方面是否重要?显然结果仍然必须相同......

例:

myCollection.OrderBy(item => item.CreatedDate).Where(item => item.Code > 3);
myCollection.Where(item => item.Code > 3).OrderBy(item => item.CreatedDate);
Run Code Online (Sandbox Code Playgroud)

两者都返回相同的结果,但是处于不同的LINQ顺序.我意识到重新排序某些项目会产生不同的结果,我并不关心这些.我主要关心的是,在获得相同结果时,排序是否会影响性能.而且,不只是在我做的2个LINQ调用(OrderBy,Where),而是在任何LINQ调用上.

c# linq performance

113
推荐指数
3
解决办法
5792
查看次数

如何将TabControl绑定到ViewModels集合?

基本上我在我的MainViewModel.cs中:

ObservableCollection<TabItem> MyTabs { get; private set; }
Run Code Online (Sandbox Code Playgroud)

但是,我需要以某种方式不仅能够创建选项卡,而且还可以在维护MVVM的同时加载选项卡内容并将其链接到适当的视图模型.

基本上,我如何将用户控件作为tabitem的内容加载并将该usercontrol连接到适当的viewmodel.使这个困难的部分是ViewModel不应该构造实际的视图项,对吧?或者可以吗?

基本上,这将是MVVM合适的:

UserControl address = new AddressControl();
NotificationObject vm = new AddressViewModel();
address.DataContext = vm;
MyTabs[0] = new TabItem()
{
    Content = address;
}
Run Code Online (Sandbox Code Playgroud)

我只是问,因为我正在ViewModel中构建一个View(AddressControl),这对我来说听起来像MVVM禁忌.

wpf tabcontrol mvvm tabitem prism-4

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

C# - 是否可以使用空参数?

public void Foo(params string[] values)
{
}
Run Code Online (Sandbox Code Playgroud)

有可能valuesnull,或者总是设置0或更多的项目?

c# parameters params

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

将泛型与null相比较,可以是值或引用类型?

public void DoFoo<T>(T foo) where T : ISomeInterface<T>
{
    //possible compare of value type with 'null'.
    if (foo == null) throw new ArgumentNullException("foo");
}
Run Code Online (Sandbox Code Playgroud)

我故意只检查null,因为我不想限制a ValueType等于它default(T).我的代码以这种方式编译和工作(ReSharper抱怨,但不是CodeAnalysis).虽然我想知道:

  • 有没有更标准的方法来处理这种情况?
  • 有没有可能出现这个问题?
  • 当我打电话并传递值类型时,真正发生了什么?

c# generics null value-type null-check

41
推荐指数
2
解决办法
4837
查看次数

WCF - 检查发送/接收的消息?

我有2个解决方案: - 服务器解决方案 - 客户解决方案

服务器将自己注册到我的localhost IIS:http:// localhost/MyApp /

客户端从localhost应用程序添加WCF服务(服务引用):http://localhost/MyApp/MyService.svc

当我运行客户端时,我希望能够看到来回传递的消息.我下载了Fiddler,但除非我实际使用网络浏览器,否则它似乎不想向我显示任何流量.我使用Fiddler是错误还是我应该使用另一种工具?


为了澄清,我想要做的是看到传入的实际消息.我不想对它们做任何事情,除了用自己的眼睛直观地看待它们.

我喜欢WCF服务日志工具,但我认为我没有正确的设置.我看不到实际的肥皂消息,只是收到了消息.

而且为了进一步澄清,我不关心我使用什么工具,只要我可以轻松地看到消息本身.

wcf soap client-server fiddler

38
推荐指数
3
解决办法
6万
查看次数

如果通过比较项目的属性,集合尚未包含它,则将项目添加到集合中?

基本上,我如何做到这一点,所以我可以做类似于:CurrentCollection.Contains(...),除了比较项目的属性是否已经在集合中?

public class Foo
{
    public Int32 bar;
}


ICollection<Foo> CurrentCollection;
ICollection<Foo> DownloadedItems;

//LINQ: Add any downloaded items where the bar Foo.bar is not already in the collection?
Run Code Online (Sandbox Code Playgroud)

c# linq collections contains

38
推荐指数
4
解决办法
6万
查看次数

退出.NET应用程序的通用方法

我知道有几种方法可以退出应用程序,例如Application.Exit(),Application.ExitThread(),Environment.Exit()等.

我有一个外部的"公共"库,我正在尝试创建一个通用的FailIf方法,将失败记录到日志中,执行此操作以及此操作,然后最终退出应用程序...这里是一个简短的版本它.

    public static void FailIf(Boolean fail, String message, Int32 exitCode = 1)
    {
        if (String.IsNullOrEmpty(message))
            throw new ArgumentNullException("message");

        if (fail)
        {
            //Do whatever I need to do

            //Currently Environment.Exit(exitCode)
            Environment.Exit(exitCode);
        }
    }
Run Code Online (Sandbox Code Playgroud)

我已经读过使用Environment.Exit不是处理WinForm应用程序的最佳方式,而且当使用WPF应用程序和Silverlight时,有不同的方法可以退出...我的问题是:

我可以优雅地退出以涵盖所有应用程序类型?

c# wpf console-application exit winforms

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

便携式类库实际上解决了什么?

我想知道,PCL究竟解决了什么?如果它只是限制我跨平台的类型,那么为什么微软只是通过IDE将它作为标准.NET库中的一个功能?

基本上,我可以轻松编译包含一些POCO对象的.NET库,并在我的Silverlight,WPF和Windows Store应用程序中引用该DLL,而无需重新编译或出现任何问题.是否有任何在PCL中有效的代码难以在标准.NET库中运行?


哦,我知道显然有一些东西可以在标准的.NET库中运行,我并不关心...我想我的问题是这样的:

是否有任何代码可以在可移植类库中编译,如果完全相同的代码在.NET库中,那么它将无法正常运行?

.net c# .net-assembly portable-class-library .net-4.5

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

ConcurrentDictionary是否是线程安全的,我可以将它用于静态缓存?

基本上,如果我想做以下事情:

public class SomeClass
{
    private static ConcurrentDictionary<..., ...> Cache { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是否让我避免lock在整个地方使用s?

c# locking static-members concurrent-collections

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