我有这个类的列表:
public class Data
{
public string name {get; set;}
public int width {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
我想创建一个只返回name属性列表的方法.像这样:
public List<string> GetAllNames()
{ return MyDataList<name>.ToList(); }
Run Code Online (Sandbox Code Playgroud)
所以,如果我有这个清单:
name= Jon - width= 10name杰克 - width= 25我想要以下列表:
name =乔恩name 杰克可能吗?
当我尝试实现以下时,我得到编译器错误C2071explicit operator bool:
class C
{
public:
explicit operator bool() const
{
return !!*this;
}
};
Run Code Online (Sandbox Code Playgroud)
为什么?我怎么解决这个问题?
我正在使用Visual Studio 2012 RC.
我只需要在Button未启用(IsEnabled == false)时更改背景(例如SolidColorBrush ).
我能怎么做?
我是否要Style使用XAML 修改Button ,还是可以通过编程方式执行此操作?什么是正确的XAML代码,仅在未启用时更改背景?
我尝试了以下XAML代码,但它没有效果:
<Button>
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" Value="Red"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
Run Code Online (Sandbox Code Playgroud) 我安装了wxPython 3.0.1.1,但我无法import wx使用Python 3.4.1.我收到以下错误:
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 00:54:21)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'wx'
Run Code Online (Sandbox Code Playgroud)
不过,我可以import wx使用Python 2.7(我的默认安装OS X 10.9):
Python 2.7.5 (default, Mar 9 2014, 22:15:05)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] …Run Code Online (Sandbox Code Playgroud) 我想从stdin读取一个数字.我不明白为什么scanf要求在&我的变量名称之前使用:
int i;
scanf("%d", &i);
Run Code Online (Sandbox Code Playgroud)
为什么scanf需要变量的地址?
我有一个词典,其中的项目是(例如):
我有一个清单:
我想从我的字典中删除其键不在我的列表中的所有元素,最后我的字典将是:
我能怎么做?
我有一个Visual Studio项目,其中包含托管代码和具有非托管代码的文件的文件.该项目具有CLR支持,但是当我添加一个不需要.NET的文件时,只需右键单击该文件即可关闭/ crl选项:

我添加了一个必须包含非托管代码的类,并使用std :: mutex.
// Foo.h
class Foo
{
std::mutex m;
}
Run Code Online (Sandbox Code Playgroud)
编译后我收到以下错误:
错误C1189:使用/ clr或/ clr:pure进行编译时不支持#error :.
问题是我没有关闭头文件(.h)的clr的选项,因为这是我右键单击.h文件时的窗口:

我该如何解决这个问题?
我正在尝试使用默认NULL参数定义一个函数Rcpp.以下是一个例子:
// [[Rcpp::export]]
int test(int a, IntegerVector kfolds = R_NilValue)
{
if (Rf_isNull(kfolds))
{
cout << "NULL" << endl;
}
else
{
cout << "NOT NULL" << endl;
}
return a;
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行代码时:
test(1)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
错误:与请求的类型不兼容
我该如何解决这个问题?
我需要绘制一个形状列表,我正在使用Direct2D.我从文件中获取形状列表.列表已排序,文件中元素的顺序表示将绘制这些形状的顺序.所以,如果例如文件指定在相同的位置和相同大小的两个矩形,只有第二个将是可见的(因为第一将被覆盖).
鉴于我的形状列表,我按以下方式进行绘图:
list<Shape> shapes;
for (const auto& shape : shapes)
shape.draw();
Run Code Online (Sandbox Code Playgroud)
很容易看出,如果我有两个形状,我无法反转绘图操作的顺序,这意味着我必须确保shape2将始终绘制shape1,依此类推.接下来我无法使用多个线程来绘制我的形状,这在性能方面是一个巨大的劣势.
我读到Direct3D支持深度缓冲区(或z缓冲区),它为每个像素指定了它的z坐标,这样只会绘制"可见"像素(更接近观察者的on),无论顺序如何形状是绘制的.当我读取文件时,我有每个形状的深度信息.
有没有办法在Direct2D中使用深度缓冲区,或类似的技术允许我使用多个线程来绘制我的形状?
我有一个WPF Panel(Canvas例如),我想删除它Children只有这些子类型T,例如所有类型Button.
我怎样才能做到这一点?我可以使用LINQ吗?