小编dem*_*xSH的帖子

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

想要为tabcontrol制作可滚动的标签

假设我有一个标签控件,我有超过50个标签,没有足够的空间来容纳这么多标签,如何使这些标签可滚动?

silverlight wpf

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

在SQL Server中不能在ROW_NUMBER()中使用别名?

当使用sql时,我必须创建一个按分组总和排序的row_number列:

select Sales.Name, SUM(Sales.Bill) as billsum, ROW_NUMBER() over (order by billsum DESC) as rn
from Sales group by Sales.Name
Run Code Online (Sandbox Code Playgroud)

它报告错误,因为row_number over无法解析"billsum"别名,我必须写:

select Sales.Name, SUM(Sales.Bill) as billsum, ROW_NUMBER() over (order by SUM(Sales.Bill) DESC) as rn
from Sales group by Sales.Name
Run Code Online (Sandbox Code Playgroud)

所以我在这里写了两次SUM(Sales.Bill),反正在这里使用别名吗?

sql-server

10
推荐指数
1
解决办法
6945
查看次数

Thread.Sleep会妨碍其他线程吗?

这是一个控制台程序,希望10个线程批量启动,等待5秒,然后批量停止.

static void Main(string[] args)
{
    System.Threading.Tasks.Parallel.For(0, 10, (index) =>
    {
        Action<int> act = (i) =>
        {
            Console.Write("start {0} ", i);
            Thread.Sleep(5000);
        };

        act.BeginInvoke(index, OnTaskComplete, index);
    });

    Console.ReadKey();
}

static void OnTaskComplete(IAsyncResult res)
{
    Console.Write("finish {0} ", res.AsyncState);
}
Run Code Online (Sandbox Code Playgroud)

但结果不是我的预期,10个线程一个接一个地慢慢开始(大约1秒间隔),甚至一些"完成"在一些"开始"之前出现.

当注释掉Thread.Sleep时,所有线程都在flash中开始和结束.

Thread.Sleep影响其他线程吗?无论如何要做一个纯粹的空闲时间?

/ - - - - - - - - - - - - - - -编辑 - - - - - - - - - - ----------

同样的问题也发生在:

static void Main(string[] args)
{
    System.Threading.Tasks.Parallel.For(0, 10, (index) …
Run Code Online (Sandbox Code Playgroud)

c# multithreading parallel-for thread-sleep

9
推荐指数
2
解决办法
5062
查看次数

为什么有时函数会返回一个const或const引用

首先,为什么要返回const?说我有

friend const MyVec operator-(const MyVec& left, const MyVec& right)
Run Code Online (Sandbox Code Playgroud)

所以返回const让我无法做到:

mva - mvb = mvc;
Run Code Online (Sandbox Code Playgroud)

二,为什么返回const引用?如果有:

friend const MyVec& operator++(MyVec& v)
Run Code Online (Sandbox Code Playgroud)

用const我不能: (++mva) = mvc

如果是

MyVec& operator++(MyVec& v)

我可以:++(++mva)//增加两次.

我理解对吗?

c++ const operator-overloading

5
推荐指数
1
解决办法
7984
查看次数

有没有什么好方法可以在单元测试和发布之间切换不同的上下文.在C#中

我在代码中有一些上下文要切换,具体取决于它是在测试版本还是在发布版本下运行.在我的产品编码中说:

PublishRequest(); // the real one
//PublishRequestPsudo(); // the one want to be run during unit test
Run Code Online (Sandbox Code Playgroud)

我正在考虑的方法是创建一个TestFlag类:

if (!TestFlag.PublishFlag)
{
    PublishRequest();
}
else
{
    PublishRequestPsudo();
}
Run Code Online (Sandbox Code Playgroud)

如果我有很多地方可以这样做,这似乎很冗长.这样做有什么好的模式吗?

c# unit-testing

5
推荐指数
1
解决办法
96
查看次数

使用未初始化的指针作为函数参数

由于我想将未初始化的指针传递给函数,因此会出现运行时错误.但如果我将此指针作为参考传递,它就可以正常工作.我无法解释为什么......

class Body
{

};

void check(Body* b)
{
    b = new Body();
}

void checkRef(Body* &b)
{
    b = new Body();
}

int main001()
{
    Body* b;

    //check(b);// error: The variable 'b' is being used without being initialized. (in VS2010)
    checkRef(b); // OK


    return 0;
}
Run Code Online (Sandbox Code Playgroud)

什么是传递给check和checkRef的差异?我在VisualStudio2010中遇到运行时错误.错误:正在使用变量'b'而未进行初始化.

编辑:这是一个VS2010调试输出.发布版本中不会出现"错误"

c++ pointers pass-by-reference

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

这个语法是什么意思?运算符重载和抛出异常

在书中看到一段代码:

T& operator[](int i) throw(RangeError)
{
    if(i >= 0 && i < sz) return ptr[i];
    throw RangeError();
}
Run Code Online (Sandbox Code Playgroud)

throw(RangeError)是什么意思?函数声明的后面,我知道我们可以添加常量,或= 0(纯虚拟的),但我从来没有见过掷(...)

c++ throw

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

为什么我的本地物体被毁了两次

我有一个返回本地对象的函数:

class AT
{
public:
    AT() { cout<<"construct"<<endl; }

    AT(const AT& at) { cout<<"copy"<<endl; }

    ~AT() { cout<<"destroy"<<endl; }
};

AT funcAt()
{
    AT tmp;
    return tmp;
}
...
funcAt();
Run Code Online (Sandbox Code Playgroud)

输出是:

construct
copy
destroy
destroy
Run Code Online (Sandbox Code Playgroud)

我想只有"tmp"的构造和破坏,为什么有副本和另一个毁灭?复制对象在哪里?

c++ return-value

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

MVVM,我应该把逻辑放在模型或视图模型中(控制器)

我是MVVM的新手,现在在Silverlight项目上做一些MVVM重构工作,假设它是一本书购物应用程序.

View是一个书籍列表,我将书籍的标题绑定到ViewModel.所以我public string Title { get; set; }在ViewModel中也有一个public string Title { get; set; }模型(我是对的吗?)

现在我想放一个事件处理程序来更新书名,我应该把事件处理程序放在ViewModel或Model中吗?什么是模型用于?

silverlight model-view-controller mvvm

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