小编Sco*_*ies的帖子

你如何将秒表刻度转换为纳秒,毫秒和秒?

这是一个非常基本的问题......非常令人尴尬,但这里有:

我有一个C#代码的秒表块.我以刻度确定经过的时间,然后想要转换为ns,ms,s.我知道频率是由秒表类提供的,并且它是转换所必需的.

谢谢

c#

60
推荐指数
5
解决办法
7万
查看次数

在C中,带有两个星号(**)的变量声明是什么意思?

我和C一起工作,我有点生疏了.我知道它*有三个用途:

  1. 声明一个指针.
  2. 取消引用指针.
  3. 乘法

但是,**在变量声明之前有两个星号()时它意味着什么:

char **aPointer = ...
Run Code Online (Sandbox Code Playgroud)

谢谢,

斯科特

c pointers

37
推荐指数
4
解决办法
3万
查看次数

为什么代码应该与x86上的偶数地址边界对齐?

我正在通过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,在我的情况下),为我做这个,正如文本似乎暗示的那样?

谢谢,

斯科特

assembly

20
推荐指数
2
解决办法
9602
查看次数

为什么在创建属性时想要使用AttributeUsage AllowMultiple?

根据我正在阅读的一本书,AllowMultiple公共财产AttributeUsage规定:

...目标是否可以将多个属性实例应用于它.

我为什么要/不想使用它?

c# custom-attributes attributeusage

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

如何使用LINQ和lambda语法创建匿名类型?

我有一个使用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# linq

16
推荐指数
1
解决办法
4万
查看次数

如果扩展方法与密封类中的方法具有相同的签名,那么调用优先级是什么?

我正在阅读C#3.0中的扩展方法.我正在阅读的文本暗示,与正在扩展的类中的方法具有相同签名的扩展方法将按执行顺序排在第二位 - 也就是说,密封类中的方法被调用.如果是这种情况,你怎么能延长密封班?

c# extension-methods c#-3.0

14
推荐指数
2
解决办法
3192
查看次数

为什么.NET ObservableCollection <T>实现为类而不是接口?

在阅读Observer设计模式时,我注意到它是使用接口实现的.在Java中,java.util.observable实现也是一个类.C#和Java版本不应该使用接口吗?

斯科特

c# design-patterns observablecollection

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

为什么GetEnumerator()存储在与IEnumerator不同的接口中?

我想知道为什么GetEnumerator()方法是从IEnumerator中分解出来并放在IEnumerable中的.在我看来,将所有枚举器方法保留在IEnumerator中会更有意义.

谢谢,

斯科特

c# ienumerable ienumerator iterator

7
推荐指数
2
解决办法
687
查看次数

为什么我不能在期望委托的方法中定义一个Action?

鉴于以下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)

谢谢,

斯科特

delegates action c#-4.0

7
推荐指数
1
解决办法
5440
查看次数

C#3.0参差不齐的阵列性能优化与矩形阵列相比如何?

在Apress的书"插图C#2008"中,pg.343注:

"一维数组在CIL中有特定的指令,允许它们针对性能进行优化.矩形数组没有这些指令......因此,使用锯齿状数组有时会更有效......"

有谁知道如何实现这些性能优化?

c# arrays optimization jagged-arrays

6
推荐指数
0
解决办法
1605
查看次数