小编lys*_*cid的帖子

在C#中Task.FromResult <TResult>有什么用?

在C#和TPL(任务并行库)中,Task该类表示正在进行的工作,它产生类型为T的值.

我想知道Task.FromResult方法有什么需要?

那就是:在您已经拥有生产价值的情况下,需要将其包装回任务中?

我唯一想到的是它被用作接受Task实例的其他方法的一些适配器.

.net c# task task-parallel-library async-await

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

Git cherry pick vs rebase

我最近开始与Git合作.

在线阅读 git书(Git书)我在"Git Rebase"部分找到了以下内容:

使用rebase命令,您可以获取在一个分支上提交的所有更改,并在另一个分支上重播它们.

(引用自:http://git-scm.com/book/en/Git-Branching-Rebasing)

我认为这是git cherry-pick的确切定义(在当前签出的分支上重新应用提交或一组提交对象.

两者有什么区别 ?

git version-control

103
推荐指数
7
解决办法
4万
查看次数

std :: shared_ptr线程安全解释

我正在阅读http://gcc.gnu.org/onlinedocs/libstdc++/manual/shared_ptr.html,我仍然不清楚一些线程安全问题:

  1. 标准保证引用计数是处理线程安全的并且它是独立于平台的,对吧?
  2. 类似的问题 - 标准保证只有一个线程(持有最后一个引用)将在共享对象上调用delete,对吗?
  3. shared_ptr不保证存储在其中的对象的任何线程安全吗?

编辑:

伪代码:

// Thread I
shared_ptr<A> a (new A (1));

// Thread II
shared_ptr<A> b (a);

// Thread III
shared_ptr<A> c (a);

// Thread IV
shared_ptr<A> d (a);

d.reset (new A (10));
Run Code Online (Sandbox Code Playgroud)

在线程IV中调用reset()将删除在第一个线程中创建的A类的先前实例并将其替换为新实例?此外,在IV线程中调用reset()之后,其他线程只会看到新创建的对象?

c++ shared-ptr c++11

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

在Windows应用商店应用中获取CoreDispatcher的正确方法

我正在构建一个Windows应用商店应用,我有一些代码需要发布到UI线程.

为此,我想检索CoreDispatcher并使用它来发布代码.

似乎有几种方法可以这样做:

// First way
Windows.ApplicationModel.Core.CoreApplication.GetCurrentView().CoreWindow.Dispatcher;

// Second way
Window.Current.Dispatcher;
Run Code Online (Sandbox Code Playgroud)

我想知道哪一个是正确的?或两者是否相同?

c# dispatcher async-await windows-runtime windows-store-apps

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

共享AssemblyInfo,用于整个解决方案的统一版本控制

我已经读过这个技术:http://blogs.msdn.com/b/jjameson/archive/2009/04/03/shared-assembly-info-in-visual-studio-projects.aspx

基本上,它意味着创建一个SharedAssemblyInfo.cs,其中包含有关程序集的版本信息,并将此文件添加为解决方案的所有项目的链接,因此实际文件仅驻留在磁盘上的1个位置.

我的问题涉及两个场景:

  1. 不使用此机制的现有解决方案:有没有办法轻松地将ShareAssemblyInfo添加到所有项目?(假设我有50个项目的解决方案).

  2. 创建新项目时,默认情况下会创建一个新的AssemblyInfo.cs.但是,我想自动链接到SharedAssemblyInfo.

这有什么解决方案吗?常见的做法是什么?

.net c# visual-studio-2010 .net-assembly visual-studio

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

没有新的C++对象

这是一个非常简单的问题,但我多年来都没有正确地完成c ++,所以我对此感到困惑.此外,在互联网上查找并不是最简单的事情(至少对我而言).

为什么不使用new关键字,它是如何工作的?

基本上,这里发生了什么?

CPlayer newPlayer = CPlayer(position, attacker);
Run Code Online (Sandbox Code Playgroud)

c++ new-operator

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

醒来()和开始()

我看到,我们可以在初始化变量Awake()Start()Awake()会之前调用Start().

我们什么时候应该初始化AwakeStart获得最佳性能?

unity-game-engine

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

在同一进程中将.NET 3.5与4/4.5程序集混合使用

我想将基于.NET 3.5 WinForms的应用程序迁移到最新的.NET版本(4.5).

该应用程序使用"外部"组件(可以被认为是插件),这些组件目前也是基于.NET 3.5的.

我想知道在我们使用.NET 4.5 转换应用程序进行编译的情况下使用了什么运行时/核心库?

这种情况应该适当吗?(在4.5进程中加载​​.NET 3.5程序集)?*插件程序集通过反射加载.

CLR运行时如何处理这种情况?这是一种安全的做法吗?

.net c# clr

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

项目GUID不断变化

我们有一个VS2008解决方案,我注意到一些奇怪的事情:

一些项目引用在同一解决方案中定义的其他项目(添加为项目引用).这是在不久前完成的.

直接从VS建设工作正常.

从MSBUILD构建失败.

我删除了项目引用并重新添加它,我注意到项目的GUID已更改.现在可以使用MSBUILD构建.

问题是,我现在必须检查所有项目并验证这一点.

此外,我不知道为什么会发生这种情况(为什么项目GUID与以前不同,并且不确定是否会再次发生这种情况).

可能是什么原因造成的?

msbuild visual-studio-2008 visual-studio

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

为什么在C#中使用泛型约束

我在MSDN上阅读了一篇关于C#中泛型的优秀文章.

我脑子里浮现的问题是 - 我为什么要使用通用约束?

例如,如果我使用这样的代码:

public class MyClass<T> where T : ISomething
{
}
Run Code Online (Sandbox Code Playgroud)

我不能T在这个类中切换所有引用ISomething吗?

使用这种方法有什么好处?

c# generics constraints

28
推荐指数
3
解决办法
4139
查看次数