小编Nic*_*ick的帖子

仅包含一个类成员的创建列表

我有这个类的列表:

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)

所以,如果我有这个清单:

  1. name= Jon - width= 10
  2. name杰克 - width= 25

我想要以下列表:

  1. name =乔恩
  2. name 杰克

可能吗?

c# list

12
推荐指数
1
解决办法
2513
查看次数

显式运算符bool错误

当我尝试实现以下时,我得到编译器错误C2071explicit operator bool:

class C
{
public:

    explicit operator bool() const
    {
        return !!*this;
    }
};
Run Code Online (Sandbox Code Playgroud)

为什么?我怎么解决这个问题?
我正在使用Visual Studio 2012 RC.

c++ explicit operator-overloading c++11

11
推荐指数
1
解决办法
4616
查看次数

未启用时更改按钮背景

我只需要在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)

c# wpf button disabled-control

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

如何在Python 3中使用wxPython?

我安装了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)

python macos wxpython python-3.x

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

为什么scanf需要&?

我想从stdin读取一个数字.我不明白为什么scanf要求在&我的变量名称之前使用:

int i;
scanf("%d", &i);
Run Code Online (Sandbox Code Playgroud)

为什么scanf需要变量的地址?

c scanf

10
推荐指数
4
解决办法
7633
查看次数

从Dictionary <Key,Item>中删除元素

我有一个词典,其中的项目是(例如):

  1. "A",4
  2. "B",44
  3. "再见",56
  4. "C",99
  5. "D",46
  6. "6672",0

我有一个清单:

  1. "一个"
  2. "C"
  3. "d"

我想从我的字典中删除其键不在我的列表中的所有元素,最后我的字典将是:

  1. "A",4
  2. "C",99
  3. "D",46

我能怎么做?

c# collections dictionary list

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

使用std :: mutex关闭头文件的clr选项

我有一个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文件时的窗口:

在此输入图像描述

我该如何解决这个问题?

.net c++ clr visual-studio c++11

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

默认NULL参数Rcpp

我正在尝试使用默认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)

我收到以下错误:

错误:与请求的类型不兼容

我该如何解决这个问题?

parameters null r rcpp

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

Direct2D深度缓冲区

我需要绘制一个形状列表,我正在使用Direct2D.我从文件中获取形状列表.列表已排序,文件中元素的顺序表示将绘制这些形状的顺序.所以,如果例如文件指定在相同的位置和相同大小的两个矩形,只有第二个将是可见的(因为第一将被覆盖).

鉴于我的形状列表,我按以下方式进行绘图:

list<Shape> shapes;

for (const auto& shape : shapes)
   shape.draw();
Run Code Online (Sandbox Code Playgroud)

很容易看出,如果我有两个形状,我无法反转绘图操作的顺序,这意味着我必须确保shape2将始终绘制shape1,依此类推.接下来我无法使用多个线程来绘制我的形状,这在性能方面是一个巨大的劣势.

我读到Direct3D支持深度缓冲区(或z缓冲区),它为每个像素指定了它的z坐标,这样只会绘制"可见"像素(更接近观察者的on),无论顺序如何形状是绘制的.当我读取文件时,我有每个形状的深度信息.

有没有办法在Direct2D中使用深度缓冲区,或类似的技术允许我使用多个线程来绘制我的形状?

c++ directx direct3d direct2d depth-buffer

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

仅当类型为T时才从Panel中删除子项

我有一个WPF Panel(Canvas例如),我想删除它Children只有这些子类型T,例如所有类型Button.

我怎样才能做到这一点?我可以使用LINQ吗?

.net c# wpf panel

9
推荐指数
1
解决办法
3220
查看次数