我想要实现的是将一个项添加到List,多次不使用循环.
我要在List中添加50个数字,并希望所有这些数字等于,比方说,42.我知道我可以简单地创建一个运行50次的小循环并一遍又一遍地添加相同的项目, 因此;
List<int> listFullOfInts = new List<int>();
int addThis = 42;
for(int i = 0; i < 50; i++)
listFullOfInts.Add(addThis);
Run Code Online (Sandbox Code Playgroud)
我想要做的是有些事情;
listFullOfInts.AddRange(addThis, 50);
Run Code Online (Sandbox Code Playgroud)
或者至少与此类似的东西,也许使用Linq?我有一个模糊的记忆,看到如何做到这一点,但我无法找到它.有任何想法吗?
我一直在尝试在php中创建一个.ics页面,该页面将通过"Add by URL"添加到Google Calendar中,以便我从数据库中检索事件并将其显示在日历中.
我已经搜索了一段时间,并发现了另一篇文章,这对开始非常有帮助,但我现在遇到了一个似乎并没有影响那些具有类似代码的障碍.邮政可以在这里找到.
所以,我的问题是我似乎无法让Google日历更新我的页面,就好像它已在日历中缓存了页面一样.因此,当我向页面添加另一个VEVENT时,它不会更新日历.
创建文件时,它会为*.ics文件生成正确的格式.格式如下所示.
如果我直接进入页面,我会收到提示下载文件,该文件可以导入GC,如果我将相同的代码添加到不同的页面,例如将页面名称从cal.php更改为cal2.php,将使GC读取所有事件,而当我只是添加相同的URL时,它不会接收对文件所做的任何更改.
任何人都知道为什么这不更新?
有其他类似问题的人通过在他们的VEVENT上添加一个UID来解决这个问题,这对我来说没有解决这个问题......
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:17d88c861131ec62f18835cdd4eb7d0c@yourhost.test
DTSTAMP:20110901T092002Z
DTSTART:20110925T170000Z
DTEND:20110928T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
BEGIN:VEVENT
UID:00813115d1a2d21447eb11ded3ba9020@yourhost.test
DTSTAMP:20110901T092002Z
DTSTART:20110929T170000Z
DTEND:20110930T035959Z
SUMMARY:Camping Trip
END:VEVENT
BEGIN:VEVENT
UID:1f18d85fe516d684536129ed066e7d4f@yourhost.test
DTSTAMP:20110901T092002Z
DTSTART:20110914T170000Z
DTEND:20110915T035959Z
SUMMARY:Testing new Event
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)
<?php
header("Content-Type: text/Calendar");
header("Content-Disposition: inline; filename=\"calendar.ics\"");
echo "BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:" . md5(uniqid(mt_rand(), true)) . "@yourhost.test
DTSTAMP:" . gmdate('Ymd').'T'. gmdate('His') . "Z
DTSTART:20110925T170000Z
DTEND:20110928T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
BEGIN:VEVENT …Run Code Online (Sandbox Code Playgroud) 我正在开发一种软件,它采用实时数据并根据用户输入从中提取许多功能.每个可用的功能都包含一个方法,该方法获取一个双精度数组并返回所需的特征,例如MeanAbsoluteValue的这个:
public static class MeanAbsoluteValue{
public static double Calculate(double[] data){
return data.Sum(s => Math.Abs(s)) / data.Length;
}
}
Run Code Online (Sandbox Code Playgroud)
由于每个功能只有一个Calculate方法,我正在考虑重写它们,以便可以从该Collection中收集和选择它们.
我曾尝试编写一个接口供他们使用,但由于它们是静态的,所以不允许这样做.
有办法做到这一点吗?如果是这样,你能指出我正确的方向吗?
我有一个对象列表,我希望将其减少到仅包含在单独列表中的属性的对象.
List1是简单字符串的列表.
List2是包含两个字符串属性的对象列表; A和B.
应删除List1中不存在A 和 B的所有项目.
这个过程非常依赖于时间,需要尽可能快.目前我有以下实施方案;
var List1 = new List<String>() {"Around", "9000", "strings"}; //List of about 9000 strings
var List2 = databaseList.ToList(); //Around 2.5 million objects
var reducedList = new HashSet<Object>();
foreach (var item in List2)
{
if(List1.Contains(item.A) && List1.Contains(item.B))
{
reducedList.Add(item);
}
}
Run Code Online (Sandbox Code Playgroud)
此过程大约需要7秒钟才能完成,这对我目前的要求来说太慢了.
我尝试使用LINQ运行它,但是给出相同的结果,大约7秒.
var reducedList = List2.Where(r => List1.Contains(r.A)).Where(r => List1.Contains(r.B)).ToList();
Run Code Online (Sandbox Code Playgroud)
有什么建议我可以做些什么来改善这个?
编辑: 我无法在SQL方面做到这一点,因为我需要比较的9000个字符串不能"翻译"成SQL查询,但会超过我们允许的允许2100输入参数SQL Server安装程序.
我一直在寻找一个很好的JavaScript库来动态创建html表.有很多javascript工具可用于"beatuify"和"功能化"现有表格,这只是我所追求的部分内容.
我正在寻找的是一个库,我可以用来创建漂亮的表,而不必先"手动"生成表,然后使用美化工具.非常类似于创建图形的那些; HighCharts,Flotr2等
是否存在这样的库,允许我简单地传递一个JSON对象或调用一系列函数来生成一个漂亮的,可排序的,功能性的HTML表?