小编Nik*_*wal的帖子

System.Net.Mail.SmtpClient在4.7中是否已过时?

几天前我访问了一个过时的博客,System.Net.Mail.SmtpClient一个开源库MailKitMimeKit正在取代它.

我可以看到文档,但没有在参考代码和库中找到相同的文档.它是否过时了?

System.Net.Mail.SmtpClient

.net c#

26
推荐指数
3
解决办法
7856
查看次数

b/w Hashtable,Dictionary和KeyValuePair有什么区别?

我在代码中使用Dictionary但我的同事使用Hashtable.MSDN表示他们在密钥值对上工作,Hashtable和字典的例子在MSDN上是相同的.

那么它们彼此之间有多么不同?哪种是最好的还是适合不同的场合?

.net c# dictionary hashtable key-value

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

如何在LINQ查询语言中使用where/index?

是否有可能使用查询语言编写此...而不是方法链?

 notifications.Where((n, index) => n.EventId == m_lastSelectedEventID)
              .Select((n, index) => new {Position = index}).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

谢谢,拉杜

.net c# linq

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

替换字符串中的反斜杠

我在尝试在C#.net上的日期字符串中替换反斜杠时遇到一些问题.

到目前为止,我正在使用:

string.Replace(@"\","-")
Run Code Online (Sandbox Code Playgroud)

但它还没有完成更换.有人可以帮忙吗?

.net c# string

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

Powershell正在从程序参数中删除逗号

我想将逗号分隔的值列表传递到脚本中作为单个开关的一部分.

这是程序.

param(
  [string]$foo
)

Write-Host "[$foo]"
Run Code Online (Sandbox Code Playgroud)

这是用法示例

PS> .\inputTest.ps1 -foo one,two,three
Run Code Online (Sandbox Code Playgroud)

我希望这个程序的输出是,[one,two,three]但它返回[one two three].这是一个问题,因为我想使用逗号来区分值.

为什么powershell删除了逗号,为了保留它们我需要更改什么?

powershell

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

c#词典相交

我有关于Linq/Lambda的问题以及以下问题:

我有两个词典,主要和次要......这两个词典被定义为Key = string,Value = int.如果KEYS与辅助字典相交,我需要修剪主字典.

即:

primaryDict = ["thing1", 33] ["thing2", 24] ["thing3", 21] ["thing4", 17] ["thing5", 12]

secondaryDict = ["thing1", 22] ["thing3", 20] ["thing4", 19] ["thing7", 17] ["thing9", 10]

resultDict = ["thing1", 33] ["thing3", 21] ["thing4", 17]
Run Code Online (Sandbox Code Playgroud)

我的尝试:

resultDict = primaryDict.Keys.Intersect(secondaryDict.Keys).ToDictionary(t => t.Key, t.Value);
Run Code Online (Sandbox Code Playgroud)

这显然不起作用,因为primaryDict.Keys.Intersect返回一个键列表...我将如何重新建立一个新词典,或者配对主词典?任何帮助,将不胜感激.

c# dictionary key intersect

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

MEF中的出口仿制药

我想通过MEF将泛型类导出到通用接口.我的目标是:

public interface IService<T> { }

[Export(typeof(IService<T>))] // error!!!!!!
public class Service<T> { }

public class Client<T> {
    [Import]
    private IService<T> _service;
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试导出时IService<T>,我收到此错误:

属性参数不能使用类型参数

有人可以指导我这样做吗?

c# generics dependency-injection mef c#-4.0

13
推荐指数
1
解决办法
5284
查看次数

UnityContainer.Resolve或ServiceLocator.GetInstance?

这似乎是一个愚蠢的问题,因为在我的代码中一切正常,但我用Unity容器以这种方式注册了单例_ambientContainer:

 _ambientContainer.RegisterType<Application.StateContext>(new ContainerControlledLifetimeManager());
Run Code Online (Sandbox Code Playgroud)

为了避免使用我的本地字段,我使用:

get {
    return ServiceLocator.Current.GetInstance<Application.StateContext>();
}
Run Code Online (Sandbox Code Playgroud)

在我的get属性中获取我的对象的实例.这样我总是得到相同的实例(Application.StateContext仍然是单身)或GetInstance创建一个新的?

改为使用本地_ambientContainer字段会更好吗?

get {
    return _ambientContainer.Resolve<Application.StateContext>();
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

c# dependency-injection inversion-of-control unity-container

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

Visual Studio显示ReSharper的"配置设置以提高性能"通知

我使用Visual Studio Professional 2017 15.5.2以及Resharper 2017.3.1.每次我打开VS,它都会抛出通知

配置设置以提高性能.

我尝试忽略此消息但每次启动新实例时都会抛出此消息.

如果这不起作用,我点击了消息,它将我带到了Resharper Performance Guide选项.我尝试更改设置Source Control plug-in in use..我将其值更改为Ignore,但消息仍然存在.

2问题
1. Resharper在VS中引发此错误的速度有多慢?
2.为什么VS不会忽略这一点,即使我要求忽略它?

在此输入图像描述 在此输入图像描述 在此输入图像描述 在此输入图像描述

c# resharper visual-studio-2015 visual-studio-2017

13
推荐指数
1
解决办法
1875
查看次数

如果StringBuilder是可变的,那么为什么StringBuilder方法返回一个StringBuilder对象?

我们都知道它strings是不可变的,StringBuilder是mutable.对.那为什么它的方法返回一个StringBuilder对象.他们都不是无效的方法吗?

为什么这个

public StringBuilder Append(bool value)
Run Code Online (Sandbox Code Playgroud)

并不是

public void Append(bool value)
Run Code Online (Sandbox Code Playgroud)

任何解释使用它的例子都会很棒.

.net c# vb.net

12
推荐指数
2
解决办法
821
查看次数