小编kri*_*gar的帖子

CSS3倾斜div与背景图像,整个事物背后的图像

很难说出我想要完成的事情,所以请查看此图片以获取示例:

样本背景图片

正如你所看到的,我希望创建一个带有图案背景的倾斜div(简单),但是另一部分,即倾斜半覆盖的部分,也必须有背景图像.我已经想到了很多不同的想法,尝试使用背景剪辑,背景原点,div和CSS三角形之前和之后的作品.在纯CSS中有没有办法做到这一点?我喜欢不必将图像组合成一个或在这里进行任何photoshopping.

css css3

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

element返回NaN作为宽度

我正在尝试在调整窗口大小时更改元素的宽度.我试图获得元素的宽度,但它返回NaN.这是我获取宽度的代码并记录它:

var widthItemMedia = parseInt($(".my-class .list-block .item-media i").css('width'));
console.log("Previous: " + lastWindowWidth + " Current: " + windowWidth + " Width " + widthItemMedia);
Run Code Online (Sandbox Code Playgroud)

javascript css jquery

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

检查选择框是否为空

如何使用纯JavaScript检查选择框是否为空并提醒用户"选择框包含0个项目".

javascript

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

如何在C#中声明一个数组?

如何在不设置初始元素集的情况下声明数组?或者是否必须输入初始元素集?这是我的代码:

class Program
{
    static void Main(string[] args)
    {
        string ans, uname, choice, input;
        int temp;

        Console.WriteLine("Hi! We're Adrianne and Marco, today is " + DateTime.Now + ", what's yours?");
        uname = Console.ReadLine();

        do
        {
            Console.WriteLine("Hello, " + uname + "! Please select a function:");
            Console.WriteLine("1: Palindrome");
            Console.WriteLine("2: Prime or Not Prime");
            Console.WriteLine("3: Bubble Sort");
            Console.WriteLine("4: Fibonacci");
            choice = Console.ReadLine();

            if (choice == "1")
            {
                Console.WriteLine("Enter any word or string:");
                input = Console.ReadLine();
                temp = Palindrome(input);

                if (temp == 0) …
Run Code Online (Sandbox Code Playgroud)

c# arrays collections list

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

如何组合IEnumerable <string []>

我正努力提高我的LINQ技能,同时从Code Kata开始.现在,我正在尝试通过使用LINQ而不是foreach循环来改进我对这个Kata的工作.

要求:

有一个方法可以将新行('\n')上的字符串拆分成单独的字符串,然后将每个逗号分隔为最多两个数字.

这是我到目前为止所拥有的:

private int Add(string numbers) {
    var arrays = numbers.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
    var list = arrays.Select(s => s.Split(new char[] { ',', }, StringSplitOptions.RemoveEmptyEntries));

    // Additional code here...
}
Run Code Online (Sandbox Code Playgroud)

就目前而言,list是一个IEnumerable<string[]>.我一直在寻找通过各种方法LINQ( ,Join(),Aggregate()等),但没有发现任何东西,返回IEnumerable<string>.我开始认为我需要为此编写一个扩展方法,但是希望看看是否有一个我失踪的替代方法.

编辑

我的最终目标是结束IEnumerable<int>,尽管我认为在此IEnumerable<string>之前我必须停下来.如果这可以合并为一步,那就更好了.

c# linq

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

使类与foreach兼容

我有一个包装对象列表的类.我希望这个类与foreach循环兼容.

我已经看到了几个关于如何在SO上做到这一点的问题,但大多数答案都没有为我编译.

class TrackList
{
    private List<Track> tracks = new List<Track>();
}
Run Code Online (Sandbox Code Playgroud)

你会添加什么来使其适用于每个?

到目前为止,我有:

class TrackList : IEnumerable<Track>
{
    // ...

    public IEnumerator<Track> GetEnumerator()
    {
        return trackList.GetEnumerator();
    }

    System.Collections.IEnumerator System.Collections.IEnumerator.GetEnumerator()
    {
        return this.GetEnumerator();
    }
}
Run Code Online (Sandbox Code Playgroud)

但它说(翻译错误):

错误1'HP.TrackList'未实现接口成员'System.Collections.IEnumerable.GetEnumerator()'.'HP.TrackList.GetEnumerator()'无法实现'System.Collections.IEnumerable.GetEnumerator()',因为它没有与'System.Collections.IEnumerator'对应的返回类型.XXX\TrackList.cs 11

如果相反我使用:

IEnumerator<Track> IEnumerator<Track>.GetEnumerator()
{
    return this.GetEnumerator();
}
Run Code Online (Sandbox Code Playgroud)

给我同样的错误.

c# ienumerable ienumerator foreach interface

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

为什么我们无法将非泛型扩展方法添加到通用对象?

我终于厌倦了IEnumerable没有Add方法,并决定通过扩展方法添加我自己的方法.我最初的尝试是这样的:

public static void Add(this IEnumerable<T> items, T item)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

这引发了关于T未定义的预期编译器错误,因此我将签名更改Add<T>为定义它.(有关解释,请参阅此答案.)

但是,这让我思考.如果我们自己创建一个泛型类(比如IEnumerable<T>),我们可以像我最初尝试的那样添加方法,因为它T是在类中定义的.

我知道扩展方法不是作为类的一部分创建的.编译器中没有"魔术"将它们添加到原始类中.

我仍然认为,由于this初始参数的声明<T>,该参数可以用于定义方法的类型.

我的问题是:

为什么扩展方法存在这种限制?是否有针对此限制的解释?是否可以向语言团队提出并在未来的版本中添加?

更具体地说,Jonsey更有说服力地重申了我的观点:

我想我得到了你所要求的.为什么编译器不够智能,在给定方法签名的情况下,已经声明了T,并且实际上不需要在签名中?

编辑

我应该Add<T>在发布之前使用我的新方法(),因为我发现在使用该方法时,我不必一般地调用它,我可以使用.Add().我想这与这个答案一致.我仍然觉得它必须被宣布的方式很奇怪,也许这会给整个情况带来麻烦.

反对这个问题重复的争论 提到创造IEnumerable<T>.Add()仅仅是为了说明我发现这种"特殊性"背后的推理,我的问题更通用,不是特定于那种方法.

c# generics extension-methods

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