小编Jam*_*mie的帖子

Java的Array indexOf在哪里?

我必须遗漏一些非常明显的东西,但我已经搜遍了所有并且找不到这种方法.

java arrays indexof

183
推荐指数
9
解决办法
24万
查看次数

是否可以在Scala中强制命名参数?

在某些方法中,我想强制命名参数。原因是未指定参数顺序的自动生成代码(并将保持这种方式)。

我能得到的最接近的是

private val _forceNamed: Object = new Object()

def doSomething(forceNamed: Object = _forceNamed, arg1: String, arg2: String, ...): Unit = {
  if (forceNamed != _forceNamed) {
    throw Exception(something)
  }

  // actually do stuff
}
Run Code Online (Sandbox Code Playgroud)

但是,这只会在运行时失败,而在编译时失败会更好。

scala

5
推荐指数
1
解决办法
418
查看次数

如果没有构造函数,序列化如何工作?

我不确定这段代码是如何工作的.

    [Serializable]
    class Blah
    {
        public Blah(int value)
        {
            this.value = value;
        }

        public int value;
    }

        BinaryFormatter b = new BinaryFormatter();
        Blah blah = new Blah(4);
        MemoryStream s = new MemoryStream();
        b.Serialize(s, blah);
        s.Seek(0, SeekOrigin.Begin);
        blah = null;
        blah = (Blah)b.Deserialize(s);
Run Code Online (Sandbox Code Playgroud)

由于我没有无参数构造函数,因此反序列化器可以创建Blah的新实例似乎很奇怪.

.net serialization

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

为什么建议检查字符串长度以确定空虚?

通常,人们说最好说s.Length == 0而不是s == "".但似乎这将是一种微观优化,也使得阅读更难.此外,前者相对于后者的一千万,最多可节省60毫秒.

有没有理由让我失踪,例如是否s.Length == 0真的能更好地传达意图?或者需要比较许多字符串是否空洞?

编辑:我知道IsNullOrEmpty,但是当人们回答这个问题时,他们经常提到长度检查比空字符串更好.

编辑2:没有询问这两个案例的最佳方法是IsNullOrEmpty,但我问为什么不可忽视的少数人坚持认为长度检查更优越.我假设他们有充分的理由说出来,并想知道它们是什么.

编辑3:如开头所述,我知道一个比另一个快.问题是,人们推荐它的原因是什么?一些时间表明这并没有导致显着差异.

c#

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

WPF似乎没有找到自定义附加属性

我试图将属性(Button.Background)绑定到我的自定义附加属性上的属性.

在我的C#文件中

public static class Square
{
    public static readonly DependencyProperty PlayerProperty =
        DependencyProperty.RegisterAttached
        (
            name           : "Player",
            propertyType   : typeof(Player),
            ownerType      : typeof(UIElement),
            defaultMetadata: new FrameworkPropertyMetadata(null)
        );

    public static Player GetPlayer(UIElement element)
    {
        return (Player)element.GetValue(PlayerProperty);
    }

    public static void SetPlayer(UIElement element, Player player)
    {
        element.SetValue(PlayerProperty, player);
    }

    // Other attached properties
}
Run Code Online (Sandbox Code Playgroud)

我的XAML片段是

<Grid Name="board" Grid.Row="1" Grid.Column="1">
    <Grid.Resources>
        <Style TargetType="{x:Type Button}">
            <Setter Property="Height" Value="20" />
            <Setter Property="Width" Value="20" />
            <Setter Property="BorderThickness" Value="3" />
            <Setter Property="Background"
                Value="{Binding Path=(l:Square.Player).Brush, Mode=OneWay}" /> …
Run Code Online (Sandbox Code Playgroud)

wpf binding dependency-properties attached-properties

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