小编Vac*_*ano的帖子

无论如何重置表变量的身份?

假设我有一个表变量:

DECLARE @MyTableVar TABLE (ID INT IDENTITY(1,1), SomeData NVARCHAR(300))
Run Code Online (Sandbox Code Playgroud)

插入250行后,我需要使用表格"重新开始".我这样做:

DELETE FROM @MyTableVar
Run Code Online (Sandbox Code Playgroud)

我可以对table变量做什么,以便:

insert into @MyTableVar Values("TestData")
select * from @MyTableVar
Run Code Online (Sandbox Code Playgroud)

将返回此:

_______________________________
|    ID     |    SomeData     |
|___________|_________________|
|           |                 |   
|     1     |    TestData     |        
|___________|_________________|

而不是这个:

_______________________________
|    ID     |    SomeData     |
|___________|_________________|
|           |                 |   
|    251    |    TestData     |        
|___________|_________________|

t-sql sql-server sql-server-2008

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

编写一个等待bool的异步方法

我想写一个方法,将await变量设置为true.

这是psudo代码.

bool IsSomethingLoading = false
SomeData TheData;

public async Task<SomeData> GetTheData()
{
   await IsSomethingLoading == true;
   return TheData;
}
Run Code Online (Sandbox Code Playgroud)

TheData将由Prism事件和IsSomethingLoading变量设置.

我调用了该GetTheData方法,但我希望它能运行异步(现在它只是在数据没有准备好的情况下返回null.(这会导致其他问题.)

有没有办法做到这一点?

.net c# asynchronous async-await

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

你应该在什么时候理解参考文献?

我在一个入门级程序员的采访中问过这样的问题:

var instance1 = new MyObject{Value = "hello"}
var instance2 = instance1;

instance1.Value = "bye";

Console.WriteLine(instance1.Value);
Console.WriteLine(instance2.Value);
Run Code Online (Sandbox Code Playgroud)

申请人回答"你好","再见"作为输出.

我的一些同事说,"指针"不再重要,或者这个问题不是真正的能力判断.

他们是对的吗?

编辑:有人指出MyObject可能是一个结构.这是一个好点.但是,我没有发布我给受访者的完整问题.完整的问题有一个类,显然是一个类(不是结构).它可以在这里找到.

c# pointers

14
推荐指数
4
解决办法
1074
查看次数

C#如何选择含糊不清和params

说我有以下方法:

public static void MyCoolMethod(params object[] allObjects)
{
}

public static void MyCoolMethod(object oneAlone, params object[] restOfTheObjects)
{
}
Run Code Online (Sandbox Code Playgroud)

如果我这样做:

MyCoolMethod("Hi", "test");
Run Code Online (Sandbox Code Playgroud)

哪一个被调用,为什么?

c# params

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

NSubstitute有多稳定?

我的公司正在寻求标准化隔离框架.我在看MS Stubs(因为Moles看起来很酷,我以为我会把它保留在同一个框架中).然而,Stubs还没有为黄金时间做好准备(在正常功能中它仍然有点错误).

所以现在我在看那里还有什么.我看过Moq和Rhino嘲笑.在这样做的同时,我遇到了Richard Banks的精彩比较.在那他显示NSubstitute.我真的很喜欢我在那里看到的东西.

然而,在被MS Stubs烧掉一点后,我不想打赌一个alpha/non-production ready Isolation Framework.

那么,NSubstitute准备好迎接黄金时段了吗?还是它还有点儿车?

unit-testing nsubstitute

14
推荐指数
3
解决办法
2421
查看次数

当你有句柄时,int vs IntPtr?

首先是一个背景问题:

一般来说,int和之间有什么区别IntPtr?我的猜测是它是一个实际的对象,而不是像int或是一个值byte.假设是真的:

所以他们不一样.然而,我看到手柄代表两者.

  1. IntPtr的: Control.Handle
  2. int(或uint):PInvoke可以设置为返回一个int并且它可以正常工作:

    [DllImport("coredll.dll", SetLastError = true)]
    public static extern int GetForegroundWindow();
    private string GetActiveWindow()
    {
        const int nChars = 256;
        int handle = 0;
        StringBuilder Buff = new StringBuilder(nChars);
    
        handle = CoreDLL.GetForegroundWindow();
    
        if (CoreDLL.GetWindowText(handle, Buff, nChars) > 0)
        {
            return Buff.ToString();
        }
    
        return "";
    }
    
    Run Code Online (Sandbox Code Playgroud)

那么,intvs IntPtr?手柄有问题吗?你能用吗?

c# pinvoke

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

请解释一下PIVOT的部分内容

我看过很多博文.我已经阅读了文档.我通常相当擅长拾取新东西,但即使我继续阅读,但我只是不理解SQL Server(2008)中的PIVOT部分.

有人可以把它给我,好又慢.(即傻瓜的枢轴)

如果需要一个例子,那么我们可以使用这个问题中的一个.

以下是我尝试转动该示例的方法:

SELECT OtherID, Val1, Val2, Val3, Val4, Val5
FROM 
    (SELECT OtherID, Val
    FROM @randomTable) p
PIVOT
(
    max(val)
    FOR Val IN (Val1, Val2, Val3, Val4, Val5)
) AS PivotTable;
Run Code Online (Sandbox Code Playgroud)

上面的查询给出了空值而不是Val1,Val2 ...列中的值.

但要明确的是,我不是在寻找一个固定的查询.我需要了解 PIVOT,因为我正在寻找比这个例子更复杂的东西.

具体来说,聚合的交易是什么?我只想获取与给定ID匹配的所有字符串值并将它们放在同一行中.我不想集合任何东西.(再次,请看我的例子中的这个问题.)

t-sql sql-server pivot sql-server-2008

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

使用NuGet和Source Control的多人团队

我是一个使用Team Foundation Server进行源代码管理的双人团队.我开始了一个新的解决方案 对于该解决方案,我创建了几个项目 在其中许多我使用NuGet安装AutoMapper和Unity.然后我右键单击解决方案并选择"添加到源代码管理".然后,我检查了所产生的挂起更改.

我团队中的另一个人做了一个最新的,并且所有NuGet引用都失败了.

所以,我想我需要添加Packages文件夹.所以我做到了.

在我这样做之后,NuGet引用仍然失败(对他来说).

此外,当我尝试将NuGet包添加到文件时,我现在收到此错误:

访问路径'C:\ src\MyPath\ToMySolution\packages\repositories.config'被拒绝.

我假设这是因为repositories.config文件现在处于源代码控制之下(因此只有在手动签出之前它才会被读取).

那么,这是我的两个问题:

  1. 我如何或如何检查以便NuGet包在他最新的时候对我的同事有效?
  2. 当我需要使用NuGet时,有没有办法不必手动检查NuGet文件?

我做错了吗?或者NuGet是否真的不适合与源代码管理一起使用?

version-control tfs visual-studio-2010 visual-studio nuget

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

当字符串出现两次时匹配的正则表达式

我对RegEx表达式很恐怖,我只是不经常使用它们来记住使用之间的语法.

我正在使用grepWin来搜索我的文件.我需要进行搜索,返回两次给定字符串的文件.

所以,例如,如果我在搜索单词"how",那么文件一不匹配:

你好
,今天好吗?

但文件二会:

你好
,今天好吗?

我很好,你好吗?

任何人都知道如何制作一个与之匹配的RegEx?

regex

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

为什么ICommand比调用VM的代码更好?

我有一个同事问我为什么要使用ICommand模式.

他想添加一个按钮,然后在后面的代码中为它创建一个事件.然后从事件他想在ViewModel上调用一个方法.

我给了他明显的答案:这增加了View和ViewModel之间的耦合.但他认为View和ViewModel已经耦合了.(我们将视图的DataContext设置为后面View视图中的ViewModel:DataContext = new MyViewModel();

是的,我告诉他,他的方式增加了"更多耦合",但它对我来说听起来有点蹩脚.

所以,我知道ICommand是干净的方式,我这样做.但除了不使用现有的耦合器之外,ICommand还会为您带来什么呢?

.net c# wpf mvvm

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