在C#中,如果我们定义一个enum包含对应于负值的成员,然后我们迭代它enum的值,那么负值不是第一个,而是最后一个.为什么会这样?在其他语言(C,C++,Ada等)中,迭代a enum将为您提供定义它的顺序.
using System;
enum SignMagnitude { Negative = -1, Zero = 0, Positive = 1 };
public class Example
{
public static void Main()
{
foreach (var value in Enum.GetValues(typeof(SignMagnitude)))
{
Console.WriteLine("{0,3} 0x{0:X8} {1}",
(int) value, ((SignMagnitude) value));
}
}
}
// The example displays the following output:
// 0 0x00000000 Zero
// 1 0x00000001 Positive
// -1 0xFFFFFFFF Negative
Run Code Online (Sandbox Code Playgroud) 在某些语言中,有规则/最佳实践/等.促进软件安全,确保预期的运行时行为等.我想到的两个是MISRA for C/C++,以及Ada的Ravenscar配置文件.如果按照这些标准加盖代码,通常会对代码产生温暖的模糊感.Java有这样的标准吗?
我有一个ListBox包含两列的列 - 第一列包含一个Toggle Button,第二列包含一个Expander包含多个控件的列.如果expander折叠,整体滚动ListBox工作正常.但是,如果Expander打开并且展开器包含大量项目,ListBox则将滚动整个行大小,通常不显示expander列表的一部分.
这类似于在列表框中放置一个大于列表框可视区域的图像.在这种情况下,如果单击滚动条,则需要"向下"移动图像,而不会在一次单击时滚动屏幕.
是否有一个设置ListBox允许部分滚动,如我所述?我listBox在a中定义xaml,控件是通过C#代码添加的.