小编Mat*_*and的帖子

使用从基类列表到泛型方法的项

很难拿到一个好头衔,但我要说我有这种情况.我有一个基类:

public abstract class FooBase
{

}
Run Code Online (Sandbox Code Playgroud)

我有一个通用的实现:

public class MyFoo<T> : FooBase where T : Bar
{

}
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.抽象基础是这样我可以创建这些通用项的异构集合:

List<FooBase> list = new List<FooBase>()
{
    new MyFoo<Bar1>(),
    new MyFoo<Bar2>()
} 
Run Code Online (Sandbox Code Playgroud)

现在问题来了.我有一个通用的方法:

public void DoSomething<T>(MyFoo<T> aFoo) where T : Bar
{

}
Run Code Online (Sandbox Code Playgroud)

当我使用特定 的实例调用它时,这可以工作Foo:

DoSomething(new MyFoo<Bar1>());
Run Code Online (Sandbox Code Playgroud)

但是我想要一个能够列出并调用DoSomething每个项目的函数:

public void DoSomethingWithList(List<FooBase> list) 
{
    foreach (var item in list) 
    {
        DoSomething(item);     // doesn't work - type cannot be inferred here
    }
}
Run Code Online (Sandbox Code Playgroud)

那么有没有办法在运行时让它找出正确的类型并调用泛型函数?还是有其他方法摆脱这个难题?

c# generics

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

javascript的setInterval函数

在javascript中我们使用像这样的setInterval函数.

myInteval= setInterval("func",t);
Run Code Online (Sandbox Code Playgroud)

如果"func"本身的执行时间大于间隔时间t怎么办?

我认为js是单线程的.这是怎么实现的?

html javascript

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

c# - 程序没有退出

刚刚开始使用C#,这可能只是一个简单的修复,但我似乎无法看到它.一旦程序第一次执行(在添加两个数字之后),则提示用户输入是或否作为退出条件.当我输入'no'时,程序将再次循环.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BasicCalculator
{
    class Program
    {
        static void Main(string[] args)
        {
            bool again = false;
            while (!again)
            {
                Console.WriteLine("C# Basic Calcuator");
                Console.WriteLine("Please enter two numbers to be added: ");
                Console.WriteLine("Number 1: ");

                int result;
                int a = Convert.ToInt32(Console.ReadLine());


                Console.WriteLine("Number 2: ");
                int b = Convert.ToInt32(Console.ReadLine());

                Console.WriteLine("Result: ");
                result = a + b;

                //print result
                Console.WriteLine(result);

                //potential exit condition
                Console.WriteLine("Would you like to calculate again?");
                if(Console.ReadLine() == "no")
                {
                    again …
Run Code Online (Sandbox Code Playgroud)

c# exit

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

在Javascript中连接数组

我是javascript的新手,我有一个问题,使用reduce和concat函数将几个数组展平为一个完整的数组.

var array = [ [1, 3], [6, 6], [3, 3] ]; 

var finishedArray = function(array) {
var reducedArray = {};
var completeArray = {};


for (var i = 0; i < array.length; i++) {
    reducedArray[i] = array[i].reduce(function (a, b) {
        return a + b;
    });

    completeArray = reducedArray[i].concat(reducedArray[i + 1]);
}

return completeArray;

}

console.log(finishedArray(array));`
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:completeArray = reducedArray[i].concat(reducedArray[i + 1]);

TypeError: undefined is not a function

这是为什么???

javascript arrays reduce concat

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

Convert.ToDecimal(String.Format("{0:.##}",doubleAmount))不喜欢0.0

我对此行有格式化问题:

Decimal amount = Convert.ToDecimal(String.Format("{0:.##}", doubleAmount));  
Run Code Online (Sandbox Code Playgroud)

如果doubleAmount为0.0,则抛出格式异常.我该如何处理0.0?

.net c#

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

从链接的一部分删除下划线

有了这个:

a sup {
    text-decoration: none !important;
    color: red;
Run Code Online (Sandbox Code Playgroud)
<a href="http:/example.com//">Example<sup class='tm'>&trade;</sup></a>
Run Code Online (Sandbox Code Playgroud)

是否可以从<sup>元素中删除下划线?CSS显然瞄准了正确的元素(将其变为红色),但是text-decoration忽略了。反正是有使用下划线只有部分的的a标签?

css

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

C#中的宾果算法

我正在尝试创建一个宾果卡,应该使用以下规则进行设置:

  • 宾果卡将有 9 列和 3 行
  • 必须有5个数字
  • 一行中的每个 oter 后面不能有超过 2 个空块
  • 一行中不能超过 2 个数字

到目前为止,我已经设法创建了一张包含 9 列和 3 行的卡片,并用唯一的随机数填充了卡片,但我不知道如何实现第三条和第四条规则。

最后,宾果卡应该类似于:

1     EMPTY   18     EMPTY   12     EMPTY     40    EMPTY 32

EMPTY 2       EMPTY  EMPTY   67     33        EMPTY 44    EMPTY

90    EMPTY   79     EMPTY   38     EMPTY     55    EMPTY 71
Run Code Online (Sandbox Code Playgroud)

在我的算法中,我不知道如何放置 EMPTY 块并避免重复它们两次以上

我的卡片生成器功能是:

public GameCard GetCard()
    {
        //This is the list of all numbers between 1 and 99
        var availableNumbers = Enumerable.Range(CARD_NUM_MIN, CARD_NUM_MAX).ToList();
        var card = new GameCard();

        //looping …
Run Code Online (Sandbox Code Playgroud)

c# algorithm

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

c#如何向内存流添加换行符

例如,我正在合并3个文件,但最终文件之间没有换行符...

MemoryStream m = new MemoryStream();
File.OpenRead("c:\file1.txt").CopyTo(m);
File.OpenRead("c:\file2.txt").CopyTo(m);
File.OpenRead("c:\file3.txt").CopyTo(m);
m.Position = 0;
Console.WriteLine(new StreamReader(m).ReadToEnd());
Run Code Online (Sandbox Code Playgroud)

我怎样才能在内存流中添加换行符?

.net c#

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

C# - 删除String的开头然后用分隔符拆分

我在执行操作时遇到问题,我使用子字符串在字符串上定义自定义分隔符,删除字符串的前5个字符,然后用分隔符分割字符串.

string delimiterString = numbers.Substring(2, 1);
char delimiter = delimiterString[0];
string result[] = numbers.Remove(0, 5);
result = numbers.Split(delimiter);
Run Code Online (Sandbox Code Playgroud)

我得到的错误是在第三行:Cannot implicitly convert type string[] to string.Split方法似乎需要一个char数组,而remove需要一个字符串,我在两者之间转换时遇到问题.任何人都可以伸出援手吗?

c# string split

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

在里面使用.each .each

我有JSON字符串,它嵌套了这样的对象数组

[{
    "date": 1412966290618,
        "memberInfo": {
        "firstName": "Antonio",
            "lastName": "Smith"
    },
        "service": [{
        "id": null,
            "desc": "Advice"
    }, {
        "id": null,
            "desc": "3rd Party Contact"
    }],
        "commentList": [{
        "createDate": "10/10/2014",
            "cmntType": "Notes",
            "cmntText": "A positive attitude can destroy every negative obstacle."
    }, {
        "createDate": "10/10/2014",
            "cmntType": "Notes",
            "cmntText": "I am blessed my grateful heart is the fountain of gladness"
    }]
}]
Run Code Online (Sandbox Code Playgroud)

我试图使用$ .each()来循环所有元素.我能够读取"date"和"memberInfo"的值,但无法准备/访问其他两个.我想尝试

$.each(data, function (index, value) {
    var date = value.date;
    var memberName = value.memberInfo.firstName + ' ' + …
Run Code Online (Sandbox Code Playgroud)

jquery

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

为什么这个JavaScript代码不起作用?

我有for循环,它通过参数遍历数组.当下一个参数是"?","&"或"||"时,它不应该添加逗号,但它总是添加.我无法理解为什么,这里是代码:

var args = ["arg1","arg2","?","arg3"];
var query = "";
for (var i = 0; i < args.length; i++) {

		switch (args[i]) {

			case "?":
				query += " where ";
				break;

			case "&":
				query += " and ";
				break;

			case "||":
				query += " or ";
				break;

			default:
				if (args[i+1] != "?"); 
				{
					query += args[i] + ", ";
					break;
				}
				query += args[i] + " ";
				break;

		}

	}
document.write(query);
Run Code Online (Sandbox Code Playgroud)

当我输入它时(这被""拆分并发送到数组args):

arg1 arg2 ? arg3
Run Code Online (Sandbox Code Playgroud)

它打印出来像这样:

arg1, arg2, where arg3, …
Run Code Online (Sandbox Code Playgroud)

javascript

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

如何在c#中获取字符串的特定部分

我有一个字符串

string a = "(something is there),xyz,(something there)";
Run Code Online (Sandbox Code Playgroud)

而且,我用这个

string s = "(something is there),xyz,(something there)";
int start = s.IndexOf("(") + 1;
int end = s.IndexOf(")", start);
string result = s.Substring(start, end - start);
Run Code Online (Sandbox Code Playgroud)

但是我想用第二部分(something there) 怎么做呢?

c# string

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

Javascript如何对部分javascript数组进行排序?

我有一个来自mij页面查询的(JS)数组,它看起来像这样:

12349,1,1,1,12345,2,2,2,123457,3,3,3
Run Code Online (Sandbox Code Playgroud)

5位数字是示例"时间戳",一位数是属于时间戳的价格.我想根据时间戳对数组进行排序,但也希望价格保持在时间戳之后.因此,在进行测试后,阵列必须如下所示:

12345,2,2,2,12349,1,1,1,123457,3,3,3
Run Code Online (Sandbox Code Playgroud)

这该怎么做?

javascript

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

标签 统计

c# ×7

javascript ×4

.net ×2

string ×2

algorithm ×1

arrays ×1

concat ×1

css ×1

exit ×1

generics ×1

html ×1

jquery ×1

reduce ×1

split ×1