小编Atr*_*gma的帖子

使用CSS动态拆分/行(按百分比)布局

我想知道是否有可能有一个多列分割布局,其中每个浮动div的动态宽度为100%/ n.

所以,如果我有以下结构

<div id="mycontainer">
    <div class="split">
        LOREM
    </div>
    <div class="split">
        IPSUM
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

产生的CSS将是这样的:

.split {
    float: left;
    width: 50%;
}

.split:last-child {
    float: right;
}
Run Code Online (Sandbox Code Playgroud)

在哪里

<div id="mycontainer">
    <div class="split">
        LOREM
    </div>
    <div class="split">
        IPSUM
    </div>
    <div class="split">
        DOLOR
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

会导致

.split {
    float: left;
    width: 33.33%;
}
Run Code Online (Sandbox Code Playgroud)

等等.我更喜欢简单的CSS解决方案,我知道通常可以使用jQuery javascript 轻松实现.

html css jquery

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

将集合(HashSet)隐式转换为IEnumerable <T>

我有一个简单的抽象枚举类:

public abstract class Enumeration<T> {

    protected readonly T _value;
    private static readonly HashSet<Enumeration<T>> _values
        = new HastSet<Enumeration<T>>();

    protected Enumeration(T value) {
        _value = value;
        _values.Add(this);
    }

}
Run Code Online (Sandbox Code Playgroud)

现在我想有一个方法返回HashSet中的每个元素,但不返回HashSet本身( - >作为IEnumerable).

但这不起作用:

public static IEnumerable<T> GetValues() {
     return _values;
}
Run Code Online (Sandbox Code Playgroud)

因为我无法隐含地转换HashSetIEnumerable<T>,当然.我能想到的唯一方法是循环遍历HashSet并产生每个元素,但我想知道是否有一种方法可以自动执行此操作,就像您隐式将列表转换为IEnumerable<T>.

.net c# linq collections casting

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

基类中的递归抽象ToString()?

看下面的(伪)模式:

public abstract class Animal {

     public abstract AnimalType { get; }

     public abstract override string ToString() {
          return String.Format("{0}={1}", AnimalType, this.ToString());
                                                         ^
                                                // does this even work?
     }

}
Run Code Online (Sandbox Code Playgroud)

这将迫使从它派生的每个类看起来像这样:

public sealed class Horse : Animal {

     // horse specific declaration
     private string _name;
     private int    _age;

     // forced
     public override AnimalType { 
          get { return AnimalType.Horse; } 
     }

     // horse specific declaration
     public Name {
          get { return _name; }

     public Horse(string name, string age) {
          _name = …
Run Code Online (Sandbox Code Playgroud)

.net c# oop polymorphism

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

扩展方法中"T"(TArg0,TEnum,TInt)的含义是什么?

我可以定义一个扩展方法来确定一个对象是否为null

public static bool IsNull(this object obj) {
    if (obj == null)
        return true;
    else return false;
}
Run Code Online (Sandbox Code Playgroud)

但我也可以这样做:

public static bool IsNull<T>(this T obj) {
    if(obj == null)
        return true;
    else return false;
}
Run Code Online (Sandbox Code Playgroud)

两者都适用于每个对象.这个T的目的是什么?进一步阐述预期的类型?如果是的话,为什么这样:typeof(T)是可能的?那么(this T obj) where T: int)(在哪里)背后的原因是什么?(正如@MatthewWatson指出的那样,这无论如何都不起作用)

这么多的问题.

.net c# linq extension-methods

-2
推荐指数
1
解决办法
465
查看次数

标签 统计

.net ×3

c# ×3

linq ×2

casting ×1

collections ×1

css ×1

extension-methods ×1

html ×1

jquery ×1

oop ×1

polymorphism ×1