小编Wai*_*Lee的帖子

如何在Visual Studio 2015中使用C#7?

Visual Studio 2017(15.x)支持C#7,但Visual Studio 2015(14.x)呢?

我怎样才能使用C#7?

c# visual-studio visual-studio-2015 c#-7.0

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

在ReSharper中禁用C#6.0支持

在使用ReSharper时,它建议"为此项目启用C#6.0支持".我愚蠢地点击它,现在正如所宣传的那样,它给了我C#6.0的建议 - 然后给我错误,因为我在这个项目中没有使用C#6.0.

如何禁用C#6.0支持,将其恢复到以前的状态?(最好不必单独忽略具体建议)

c# resharper

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

在C#中执行fire and forget方法的最简单方法是什么?

我在WCF中看到他们有[OperationContract(IsOneWay = true)]属性.但是WCF似乎有点缓慢而且很重要,只是为了创建一个非阻塞功能.理想情况下会出现类似静态无效的阻塞MethodFoo(){},但我认为不存在.

在C#中创建非阻塞方法调用的最快方法是什么?

例如

class Foo
{
    static void Main()
    {
        FireAway(); //No callback, just go away
        Console.WriteLine("Happens immediately");
    }

    static void FireAway()
    {
        System.Threading.Thread.Sleep(5000);
        Console.WriteLine("5 seconds later");
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:阅读此内容的每个人都应该考虑他们是否真的想要完成这个方法.(参见#2最佳答案)如果方法必须完成,那么在某些地方,比如ASP.NET应用程序,你需要做一些事情来阻止并保持线程活着.否则,这可能会导致"忘记但永远不会实际执行",在这种情况下,当然,根本不编写任何代码会更简单.(很好地描述了它在ASP.NET中的工作原理)

.net c# nonblocking

134
推荐指数
9
解决办法
8万
查看次数

是否更好地使用Enumerable.Empty <T>()而不是新的List <T>()来初始化IEnumerable <T>?

假设你有一个人类:

public class Person
{
   public string Name { get; set;}
   public IEnumerable<Role> Roles {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

我显然应该在构造函数中实例化角色.现在,我曾经使用像这样的List:

public Person()
{
   Roles = new List<Role>();
}
Run Code Online (Sandbox Code Playgroud)

但我在System.Linq命名空间中发现了这种静态方法

IEnumerable<T> Enumerable.Empty<T>();
Run Code Online (Sandbox Code Playgroud)

来自MSDN:

Empty(TResult)()方法缓存一个空的序列TResult.当它返回的对象被枚举时,它不会产生任何元素.

在某些情况下,此方法对于将空序列传递给用户定义的方法非常有用 IEnumerable(T).它还可以用于为诸如的方法生成中性元素Union.有关此用法的示例,请参阅示例部分

那么编写这样的构造函数会更好吗?你用它吗?为什么?如果没有,为什么不呢?

public Person()
{
   Roles = Enumerable.Empty<Role>();
}
Run Code Online (Sandbox Code Playgroud)

c# linq constructor

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

如何使ng-repeat过滤掉重复的结果

我正在运行一个简单ng-repeat的JSON文件,并希望得到类别名称.大约有100个对象,每个对象属于一个类别 - 但只有大约6个类别.

我目前的代码是这样的:

<select ng-model="orderProp" >
  <option ng-repeat="place in places" value="{{place.category}}">{{place.category}}</option>
</select>
Run Code Online (Sandbox Code Playgroud)

输出是100个不同的选项,大多数是重复的.如何使用Angular检查是否{{place.category}}已存在,如果已存在则不创建选项?

编辑:在我的javascript中$scope.places = JSON data,只是为了澄清

angularjs angularjs-ng-repeat

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

从字符串反序列化而不是TextReader

我想改变我的代码:

string path = @"c:\Directory\test.xml";
XmlSerializer s = new XmlSerializer(typeof(Car));

TextReader r = new StreamReader(path);

Car car = (Car)s.Deserialize(r);
r.Close();
Run Code Online (Sandbox Code Playgroud)

到将XML转换为字符串的代码,然后将字符串转换为对象Car.

这可能吗?

c# xml serialization

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

在IGrouping中获取"Value"属性

我有一个类似的数据结构

public DespatchGroup(DateTime despatchDate, List<Products> products);
Run Code Online (Sandbox Code Playgroud)

而我正在努力......

var list = new List<DespatchGroup>();

foreach (var group in dc.GetDespatchedProducts().GroupBy(i => i.DespatchDate))
{
    // group.Values is not correct... how do I write this?
    list.Add(new DespatchGroup(group.Key, group.Values);
}
Run Code Online (Sandbox Code Playgroud)

我显然不理解,IGrouping因为我无法看到如何实际访问组内的数据记录!

c# linq igrouping data-structures

125
推荐指数
4
解决办法
8万
查看次数

Visual Studio中的"转到定义"仅显示元数据

我在Visual Studio 2008中的Web项目中工作.当我点击F12(或右键单击并选择Go To Definition)时,Visual Studio始终会转到Meta数据文件而不是转到源.

一些要点:

  • 所有的源代码都是C#,没有VB.Net
  • 所有项目都在同一个解决方案中
  • 是的,一切都是项目参考(检查和双重检查)
  • 我已经尝试过Clean/Rebuild Solution方法(甚至可以清除Temp目录,Temporary ASP.NET Files目录等).

有没有其他人看到这种行为和/或知道如何解决它?

visual-studio

116
推荐指数
9
解决办法
8万
查看次数

使用 pip install 下载需求时出错(安装命令:use_2to3 无效。)

版本 pip 21.2.4 python 3.6

命令:

pip install -r  requirements.txt
Run Code Online (Sandbox Code Playgroud)

我的内容requirements.txt

pip install -r  requirements.txt
Run Code Online (Sandbox Code Playgroud)

该命令失败并出现此错误

mongoengine==0.19.1
numpy==1.16.2
pylint
pandas==1.1.5
fawkes
Run Code Online (Sandbox Code Playgroud)

python pip setuptools python-3.x

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

为什么Enumerable.All为空序列返回true?

var strs = new Collection<string>();
bool b = strs.All(str => str == "ABC");
Run Code Online (Sandbox Code Playgroud)

代码创建一个空的字符串集合,然后尝试确定集合中的所有元素是否为"ABC".如果你运行它,b将是真的.

但是该集合甚至没有任何元素,更不用说任何等于"ABC"的元素了.

这是一个错误,还是有合理的解释?

.net c# linq enumerable

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