为什么C#没有条件XOR
运算符?
例:
true xor false = true
true xor true = false
false xor false = false
Run Code Online (Sandbox Code Playgroud) 我在我的笔记本电脑上安装了一个新的Arch Linux系统并下载了vim包.
我没有改变.vimrc文件,但语法高亮似乎不适用于我尝试的任何语言(Python,Ruby,CSharp,C ...).
自动格式化(gg,=,G)也会失败.
直到现在,当在其他操作系统(Ubuntu,Fedora)中使用vim(因为我不能说我已经广泛使用它)时,语法突出显示自动出现.这里有什么我想念的吗?
有没有办法确保模板参数是枚举类型?
我知道type_traits
有std::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,不幸的是不能再高了(虽然我很想知道解决方案,即使它涉及更新的标准).
可能吗?
我有以下代码(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的图像.如何将图像作为菜单项的图标插入?有没有更好的办法?
一位朋友给了我一个谜语:
#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#
每次我运行我的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) C#
我有ToolStripComboBox
控制权.有没有办法将其绑定ToolStripComboBox
到列表?
我正在用C#编写一个程序,我想捕获将""(null)转换为int所引起的异常.什么是例外的名字?
编辑: 我不确定我可以在这里显示完整的代码......但我确定你不需要完整的代码,所以:
int num1 = Int32.Parse(number1.Text);
int num2 = Int32.Parse(number2.Text);
Run Code Online (Sandbox Code Playgroud) 我正在尝试调用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++程序,我想在没有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 …