这是一个非常基本的问题......非常令人尴尬,但这里有:
我有一个C#代码的秒表块.我以刻度确定经过的时间,然后想要转换为ns,ms,s.我知道频率是由秒表类提供的,并且它是转换所必需的.
谢谢
我和C一起工作,我有点生疏了.我知道它*有三个用途:
但是,**在变量声明之前有两个星号()时它意味着什么:
char **aPointer = ...
Run Code Online (Sandbox Code Playgroud)
谢谢,
斯科特
我正在通过Kip Irvine的"x86处理器的汇编语言,第六版"工作,我真的非常喜欢它.
我刚才读到了以下段落中的NOP助记符:
"It [NOP] is sometimes used by compilers and assemblers to align code to
even-address boundaries."
Run Code Online (Sandbox Code Playgroud)
给出的例子是:
00000000 66 8B C3 mov ax, bx
00000003 90 nop
00000004 8B D1 mov edx, ecx
Run Code Online (Sandbox Code Playgroud)
然后该书指出:
"x86 processors are designed to load code and data more quickly from even
doubleword addresses."
Run Code Online (Sandbox Code Playgroud)
我的问题是:原因是因为对于本书所指的x86处理器(32位),CPU的字大小是32位,因此它可以将NOP中的指令拉入并处理它们走 ?如果是这种情况,我假设一个字长为四字的64位处理器会用一个假设的5字节代码和一个nop来做到这一点?
最后,在我编写代码之后,我是否应该通过NOP进行正确的对齐以优化它,或者编译器(MASM,在我的情况下),为我做这个,正如文本似乎暗示的那样?
谢谢,
斯科特
根据我正在阅读的一本书,AllowMultiple公共财产AttributeUsage规定:
...目标是否可以将多个属性实例应用于它.
我为什么要/不想使用它?
我有一个使用lambda语法的LINQ查询:
var query =
books
.Where(book => book.Length > 10)
.OrderBy(book => book.Length)
Run Code Online (Sandbox Code Playgroud)
我想创建一个匿名类型来存储投影,类似于:
var query = from book in books
where book.Length > 10
orderby book
select new { Book = book.ToUpper() };
Run Code Online (Sandbox Code Playgroud)
如何在lambda语法中"选择新"?
谢谢,
斯科特
我正在阅读C#3.0中的扩展方法.我正在阅读的文本暗示,与正在扩展的类中的方法具有相同签名的扩展方法将按执行顺序排在第二位 - 也就是说,密封类中的方法被调用.如果是这种情况,你怎么能延长密封班?
在阅读Observer设计模式时,我注意到它是使用接口实现的.在Java中,java.util.observable实现也是一个类.C#和Java版本不应该使用接口吗?
斯科特
我想知道为什么GetEnumerator()方法是从IEnumerator中分解出来并放在IEnumerable中的.在我看来,将所有枚举器方法保留在IEnumerator中会更有意义.
谢谢,
斯科特
鉴于以下MSDN示例代码,为什么我不能定义Action委托"内联":
public static void Main(string[] args)
{
Action someAction = () => Console.WriteLine("Hello from the thread pool!");
Task.Factory.StartNew(someAction);
}
Run Code Online (Sandbox Code Playgroud)
...所以"内联"像:
public static void Main(string[] args)
{
Task.Factory.StartNew(Action someAction = () => Console.WriteLine("etc."));
}
Run Code Online (Sandbox Code Playgroud)
谢谢,
斯科特
在Apress的书"插图C#2008"中,pg.343注:
"一维数组在CIL中有特定的指令,允许它们针对性能进行优化.矩形数组没有这些指令......因此,使用锯齿状数组有时会更有效......"
有谁知道如何实现这些性能优化?
c# ×7
action ×1
arrays ×1
assembly ×1
c ×1
c#-3.0 ×1
c#-4.0 ×1
delegates ×1
ienumerable ×1
ienumerator ×1
iterator ×1
linq ×1
optimization ×1
pointers ×1