小编Gil*_*man的帖子

有条件的XOR?

为什么C#没有条件XOR运算符?

例:

true  xor false = true
true  xor true  = false
false xor false = false
Run Code Online (Sandbox Code Playgroud)

c# operators xor boolean-operations

74
推荐指数
6
解决办法
7万
查看次数

Vim语法突出显示不起作用

我在我的笔记本电脑上安装了一个新的Arch Linux系统并下载了vim包.

我没有改变.vimrc文件,但语法高亮似乎不适用于我尝试的任何语言(Python,Ruby,CSharp,C ...).

自动格式化(gg,=,G)也会失败.

直到现在,当在其他操作系统(Ubuntu,Fedora)中使用vim(因为我不能说我已经广泛使用它)时,语法突出显示自动出现.这里有什么我想念的吗?

vim syntax-highlighting vim-syntax-highlighting

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

确保模板参数是枚举类

有没有办法确保模板参数是枚举类型?

我知道type_traitsstd::is_enum,但我不希望它匹配常规枚举,只是enum_classes.

想要效果的示例:

enum class EnumClass {};
enum Enum {};
class Class {};

template <typename T>
void Example()
{
    static_assert(/* T is EnumClass */, "`T` must be an enum class");
}

Example<EnumClass>(); // Ok
Example<Enum>(); // Error
Example<Class>(); // Error
Run Code Online (Sandbox Code Playgroud)

我使用的是C++ 11,不幸的是不能再高了(虽然我很想知道解决方案,即使它涉及更新的标准).

可能吗?

c++ template-meta-programming c++11

20
推荐指数
1
解决办法
1759
查看次数

如何将资源文件中的图像转换为WPF menuitem.icon

我有以下代码(XAML C#):

        <Menu IsMainMenu="True" DockPanel.Dock="Top">
            <MenuItem Name="fileMenu" Header="_File" />
            <MenuItem Name="editMenu" Header="_Edit" />
            <MenuItem Name="setupMenu" Header="_Setup">
                <MenuItem Header="_Language">
                    <MenuItem.Icon> 
                         //I want to insert image here
                    </MenuItem.Icon>
                </MenuItem>
            </MenuItem>
            <MenuItem Name="helpMenu" Header="_Help" />
        </Menu>
Run Code Online (Sandbox Code Playgroud)

还有一个名为images.resx的资源文件,其中包含一个名为lang.png的图像.如何将图像作为菜单项的图标插入?有没有更好的办法?

c# wpf resources xaml image

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

一个谜语(在C中)

一位朋友给了我一个谜语:

#include<stdio.h>

#define TOTAL_ELEMENTS ((sizeof(array) / sizeof(array[0])))
  int array[] = {23,34,12,17,204,99,16};

  int main()
  {
      int d;
      for(d=-1;d <= (TOTAL_ELEMENTS-2);d++)
          printf("%d\n",array[d+1]);
      getchar();
      return 0;
  }
Run Code Online (Sandbox Code Playgroud)

上面的代码应该打印所有的数组元素,代码中的问题是什么(输出什么都没有)?我认为循环不会迭代一次?

我发现以下代码确实有效:

#include<stdio.h>



#define TOTAL_ELEMENTS ((sizeof(array) / sizeof(array[0])))
  int array[] = {23,34,12,17,204,99,16};

  int main()
  {
      int d;
      int x = (TOTAL_ELEMENTS-2);
      for(d=-1;d <= x;d++)
          printf("%d\n",array[d+1]);
      getchar();
      return 0;
  }
Run Code Online (Sandbox Code Playgroud)

我有一个理论认为它与宏有关,但我不能指责问题.

c

16
推荐指数
2
解决办法
2656
查看次数

如何解决:"调用目标引发了异常"C#

C#

每次我运行我的porgram我都会得到这个例外: 替代文字

但是当我在调试模式下运行时,没有异常并且程序运行正常,我该怎么办?

注意:我不在项目的任何地方使用invoke()

编辑:好的,这里是详细信息中找到的代码:如果有人知道如何使用protoBuff,并知道这个问题....

    ************** Exception Text **************
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> ProtoBuf.ProtoException: Incorrect wire-type deserializing TimeSpan
   at ProtoBuf.ProtoBcl.ProtoTimeSpan.DeserializeTicks(SerializationContext context) in c:\protobuf-net_fixed\trunk\protobuf-net\ProtoBcl\ProtoTimeSpan.cs:line 80
   at ProtoBuf.ProtoBcl.ProtoTimeSpan.DeserializeDateTime(SerializationContext context) in c:\protobuf-net_fixed\trunk\protobuf-net\ProtoBcl\ProtoTimeSpan.cs:line 41
   at ProtoBuf.Property.PropertyDateTimeString`1.DeserializeImpl(TSource source, SerializationContext context) in c:\protobuf-net_fixed\trunk\protobuf-net\Property\PropertyDateTimeString.cs:line 32
   at ProtoBuf.Property.Property`2.Deserialize(TSource source, SerializationContext context) in c:\protobuf-net_fixed\trunk\protobuf-net\Property\Property.cs:line 150
   at ProtoBuf.Serializer`1.Deserialize[TCreation](T& instance, SerializationContext context) in c:\protobuf-net_fixed\trunk\protobuf-net\SerializerT.cs:line 568
   at ProtoBuf.Serializer`1.DeserializeChecked[TCreation](T& instance, SerializationContext source) in c:\protobuf-net_fixed\trunk\protobuf-net\SerializerT.cs:line 400
   at ProtoBuf.SerializerItemProxy`2.Deserialize(TActualClass& instance, SerializationContext source) in c:\protobuf-net_fixed\trunk\protobuf-net\SerializerProxy.cs:line …
Run Code Online (Sandbox Code Playgroud)

.net c# exception

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

将数据绑定到ToolStripComboBox

C#

我有ToolStripComboBox控制权.有没有办法将其绑定ToolStripComboBox到列表?

c# data-binding

13
推荐指数
2
解决办法
8787
查看次数

C# - 解析异常失败?

我正在用C#编写一个程序,我想捕获将""(null)转换为int所引起的异常.什么是例外的名字?

编辑: 我不确定我可以在这里显示完整的代码......但我确定你不需要完整的代码,所以:

        int num1 = Int32.Parse(number1.Text);
        int num2 = Int32.Parse(number2.Text);
Run Code Online (Sandbox Code Playgroud)

.net c#

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

调用WriteableBitmap.WritePixels方法

我正在尝试调用WriteableBitmap.WritePixels方法,但我似乎无法理解参数.MSDN文章非常沉闷(或者说我说... null?),我无法理解如何使用该方法.

编辑: 我试图修改本文中的代码:http: //msdn.microsoft.com/en-us/library/system.windows.media.imaging.writeablebitmap%28v=VS.90%29.aspx

        PixelFormat pf = PixelFormats.Rgba128Float;
        WriteableBitmap wb = new WriteableBitmap(width * 5, height * 5, 100, 100, pf, new BitmapPalette(new List<Color> { Color.FromArgb(255, 255, 0, 0) }));
        byte[] ColorData = { 0, 0, 0, 0 };
        wb.WritePixels(new Int32Rect(0, 0, 1, 1), ColorData, 4, 0);
        Background.Source = wb;
Run Code Online (Sandbox Code Playgroud)

在最后一行之前的行中,调试器声称缓冲区(ColorData)大小不足.

Edit2: 我再试一次:

        void RefreshGraphics()
    {
        PixelFormat pf = PixelFormats.Pbgra32;
        WriteableBitmap wb = new WriteableBitmap(width * 5, height * 5, 100, 100, pf, new BitmapPalette(new List<Color> { …
Run Code Online (Sandbox Code Playgroud)

c# wpf bitmap

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

在没有delete运算符的情况下编译C++

我正在为嵌入式设备编写C++程序,我想在没有libstdc ++,异常和动态内存分配的情况下编译它.

示例程序:

#include <stdio.h>

class A
{
public:
    virtual ~A() {}
    virtual void Foo() = 0;
};

class B : public A
{
public:
    virtual ~B() {}
    virtual void Foo() override{}
};

int main()
{
    B b;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我立刻遇到了以下错误.

$ gcc src.cpp -static -fno-rtti -fno-exceptions -std = c ++ 11

/tmp/ccd0Wydq.o:在函数A::~A()': src.cpp:(.text._ZN1AD2Ev[_ZN1AD5Ev]+0x29): undefined reference to 运算符中删除(void*)'/ tmp/A::~A()': src.cpp:(.text._ZN1AD0Ev[_ZN1AD5Ev]+0x20): undefined reference to ccd0Wydq.o:在函数B::~B()': src.cpp:(.text._ZN1BD2Ev[_ZN1BD5Ev]+0x35): undefined reference to 运算符中删除(void*)'/ tmp/ccd0Wydq.o:在函数运算符中删除(void*)'/ tmp /ccd0Wydq.o:在函数B::~B()': src.cpp:(.text._ZN1BD0Ev[_ZN1BD5Ev]+0x20): undefined reference …

c++ linker delete-operator

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