我刚开始使用WPF.我想在单击按钮时旋转图像,但我不希望图像在一次旋转中旋转.我想用一次看图像旋转一度.在C#中最简单的方法是什么?
假设我有USBDevice对象的ArrayList.每个USBDevice都有ProductID和VendorID属性(以及其他).我想创建另一个ArrayList,它是第一个只包含与特定VID匹配的USBDevice的子集.这样做的最短路径是什么?我还没有尝试过这个,但lambda表达式可以这样使用......
ArrayList CompleteList = new ArrayList();
...
// Fill CompleteList with all attached devices....
...
ArrayList SubSetList = CompleteList.Where(d => d.VID == "10C4")
Run Code Online (Sandbox Code Playgroud) 这可能是一个愚蠢的问题,但无论如何我都会问它......我正在用C#.NET编程.我有一个包含非静态实例EventHandler的类.是否可以为静态方法中存在的类的每个实例触发该EventHandler?我知道这是一个很长的镜头!
使用之间真的有什么区别吗?
If(this)
{
}
Else If(that)
{
}
Else
{
}
Run Code Online (Sandbox Code Playgroud)
或使用,
If(this)
{
}
If(that)
{
}
Else
{
}
Run Code Online (Sandbox Code Playgroud)
?一个人执行得更快吗?编译器或架构有什么不同吗?
我在我的C#项目中使用.NET PropertyGrid控件.
当包含网格的表单加载时,水平拆分器(将"设置"与"描述"分开)处于默认位置.如何在C#中以编程方式更改分割器的位置?
我在C#.NET中编程.我想创建一个嵌套类,可以访问创建它的实例的成员,但我似乎无法弄清楚如何.
这就是我想要做的:
Car x = new Car()
x.color = "red";
x.Door frontDoor = new x.Door();
MessageBox.Show(frontDoor.GetColor()); // So I want the method GetColor of the class Front Door to be able to access the color field/property of the Car instance that created it.
Run Code Online (Sandbox Code Playgroud)
我该怎么做?我尝试将Door类嵌套在Car类中,但是它不能以这种方式访问Car类的成员.我是否需要让汽车继承门类或其他东西?
我正在开发一个使用Union的C程序.联合定义在FILE_A头文件中,看起来像这样......
// FILE_A.h****************************************************
xdata union
{
long position;
char bytes[4];
}CurrentPosition;
Run Code Online (Sandbox Code Playgroud)
如果我在FILE_A.c中设置CurrentPosition.position的值然后调用FILE_B.c中使用union的函数,则union中的数据将返回Zero.这在下面说明.
// FILE_A.c****************************************************
int main.c(void)
{
CurrentPosition.position = 12345;
SomeFunctionInFileB();
}
// FILE_B.c****************************************************
void SomeFunctionInFileB(void)
{
// After the following lines execute I see all zeros in the flash memory.
WriteByteToFlash(CurrentPosition.bytes[0];
WriteByteToFlash(CurrentPosition.bytes[1];
WriteByteToFlash(CurrentPosition.bytes[2];
WriteByteToFlash(CurrentPosition.bytes[3];
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我将一个long传递给SomeFunctionInFileB(long temp)然后将它存储到该函数中的CurrentPosition.bytes中,最后调用WriteBytesToFlash(CurrentPosition.bytes [n] ......它的工作正常.
似乎CurrentPosition Union不是全球性的.所以我尝试更改头文件中的联合定义以包含这样的extern关键字......
extern xdata union
{
long position;
char bytes[4];
}CurrentPosition;
Run Code Online (Sandbox Code Playgroud)
然后把它放在源(.c)文件中......
xdata union
{
long position;
char bytes[4];
}CurrentPosition;
Run Code Online (Sandbox Code Playgroud)
但这会导致编译错误,说:
C:\SiLabs\Optec Programs\AgosRot\MotionControl.c:76: error 91: extern definition for 'CurrentPosition' mismatches …
我用C#编程.我有一个sbyte变量.假设它保持-10,二进制是11110110.我想将这个值的二进制表示存储在一个字节变量中.因此,当我将sbyte(-10)复制到字节时,字节值将为245.如果我尝试使用Convert.ToByte(sbyte),它会抛出一个有意义的异常.我真的不想从一种类型转换到另一种类型,而是进行逐位复制.我怎样才能做到这一点?
我正在为嵌入式设备工作C固件程序.我想通过串口发送一个十六进制字符值数组.有没有一种简单的方法将值转换为ASCII十六进制?
例如,如果数组包含0xFF,我想发送ASCII字符串"FF",或者对于十六进制值0x3B我想发送"3B".
这通常是怎么做的?
我已经有了串行发送功能,所以我可以这样做......
char msg[] = "Send this message";
SendString(msg);
Run Code Online (Sandbox Code Playgroud)
并且SendString函数为传递的数组中的每个元素调用此函数:
// This function sends out a single character over the UART
int SendU( int c)
{
while(U1STAbits.UTXBF);
U1TXREG = c;
return c;
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个可以让我这样做的功能......
char HexArray[5] = {0x4D, 0xFF, 0xE3, 0xAA, 0xC4};
SendHexArray(HexArray);
//Output "4D, FF, E3, AA, C4"
Run Code Online (Sandbox Code Playgroud) 我正在为嵌入式设备开发一些固件,该设备使用16位PIC,工作速率为40 MIPS,并以C编程.系统将控制两个步进电机的位置,并始终保持每个电机的步进位置.每个电机的最大位置约为125000步,因此我不能使用16位整数来跟踪位置.我必须使用32位无符号整数(DWORD).电机以每秒1000步的速度移动,我设计了固件,以便在定时器ISR中处理步骤.计时器ISR执行以下操作:
1)将一个电机的当前位置与目标位置进行比较,如果它们是相同的设置,则isMoving标志为false并返回.如果它们不同,则将isMoving标志设置为true.
2)如果目标位置大于当前位置,向前移动一步,然后增加当前位置.
3)如果目标位置小于当前位置,向后移动一步,然后减小当前位置.
这是代码:
void _ISR _NOPSV _T4Interrupt(void)
{
static char StepperIndex1 = 'A';
if(Device1.statusStr.CurrentPosition == Device1.statusStr.TargetPosition)
{
Device1.statusStr.IsMoving = 0;
// Do Nothing
}
else if (Device1.statusStr.CurrentPosition > Device1.statusStr.TargetPosition)
{
switch (StepperIndex1) // MOVE OUT
{
case 'A':
SetMotor1PosB();
StepperIndex1 = 'B';
break;
case 'B':
SetMotor1PosC();
StepperIndex1 = 'C';
break;
case 'C':
SetMotor1PosD();
StepperIndex1 = 'D';
break;
case 'D':
default:
SetMotor1PosA();
StepperIndex1 = 'A';
break;
}
Device1.statusStr.CurrentPosition--;
Device1.statusStr.IsMoving = 1;
}
else
{
switch (StepperIndex1) // MOVE …Run Code Online (Sandbox Code Playgroud) c# ×6
c ×3
.net ×1
16-bit ×1
32-bit ×1
abstract ×1
arraylist ×1
ascii ×1
byte ×1
class ×1
embedded ×1
filter ×1
global ×1
gridsplitter ×1
hex ×1
if-statement ×1
image ×1
inheritance ×1
instance ×1
lambda ×1
methods ×1
nested ×1
non-static ×1
performance ×1
pic ×1
propertygrid ×1
rotation ×1
static ×1
unions ×1
unsigned ×1
wpf ×1