写老派最有效的方法是什么:
StringBuilder sb = new StringBuilder();
if (strings.Count > 0)
{
foreach (string s in strings)
{
sb.Append(s + ", ");
}
sb.Remove(sb.Length - 2, 2);
}
return sb.ToString();
Run Code Online (Sandbox Code Playgroud)
......在LINQ?
我想使用Linq to SQL向数据库添加一些行,但我想在添加行之前进行"自定义检查",以了解是否必须添加,替换或忽略进行的行.我希望尽可能降低客户端和数据库服务器之间的流量,并尽量减少查询次数.
为此,我希望获取验证所需的信息,并且只需要在流程开始时获取一次.
我在考虑做这样的事情,但很明显,它不起作用.有人有想法吗?
Dictionary<int, DateTime> existingItems =
(from ObjType ot in TableObj
select (new KeyValuePair<int, DateTime>(ot.Key, ot.TimeStamp))
)
Run Code Online (Sandbox Code Playgroud)
我最后想要的是一个Dictionary,而不必从TableObject下载整个ObjectType对象.
我还考虑了以下代码,但我试图找到一个正确的方法:
List<int> keys = (from ObjType ot in TableObj orderby ot.Key select ot.Key).ToList<int>();
List<DateTime> values = (from ObjType ot in TableObj orderby ot.Key select ot.Value).ToList<int>();
Dictionary<int, DateTime> existingItems = new Dictionary<int, DateTime>(keys.Count);
for (int i = 0; i < keys.Count; i++)
{
existingItems.Add(keys[i], values[i]);
}
Run Code Online (Sandbox Code Playgroud) 我知道有一些关于Newtonsoft的帖子,所以希望这不是一个重复......我正在尝试将Kazaa的API返回的JSON数据转换成某种形状的好对象
WebClient client = new WebClient();
Stream stream = client.OpenRead("http://api.kazaa.com/api/v1/search.json?q=muse&type=Album");
StreamReader reader = new StreamReader(stream);
List<string> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(reader.Read().ToString());
foreach (string item in list)
{
Console.WriteLine(item);
}
//Console.WriteLine(reader.ReadLine());
stream.Close();
Run Code Online (Sandbox Code Playgroud)
那个JsonConvert系列只是我最近尝试过的一个......我不太了解它并且希望通过问你们来消除一些步法.我原本试图将它转换为字典或其他东西......实际上,我只需要在那里获取一些值,因此根据文档来判断,也许Newtonsoft的LINQ to JSON可能是更好的选择?思考/链接?
以下是JSON返回数据的示例:
{
"page": 1,
"total_pages": 8,
"total_entries": 74,
"q": "muse",
"albums": [
{
"name": "Muse",
"permalink": "Muse",
"cover_image_url": "http://image.kazaa.com/images/69/01672812 1569/Yaron_Herman_Trio/Muse/Yaron_Herman_Trio-Muse_1.jpg",
"id": 93098,
"artist_name": "Yaron Herman Trio"
},
{
"name": "Muse",
"permalink": "Muse",
"cover_image_url": "htt p://image.kazaa.com/images/54/888880301154/Candy_Lo/Muse/Candy_Lo-Muse_1.jpg",
"i d": 102702,
"artist_name": "\u76e7\u5de7\u97f3"
},
{
"name": "Absolution",
"permalink": " Absolution",
"cover_image_url": …Run Code Online (Sandbox Code Playgroud) 给定像这样的数据源:
var c = new Car[]
{
new Car{ Color="Blue", Price=28000},
new Car{ Color="Red", Price=54000},
new Car{ Color="Pink", Price=9999},
// ..
};
Run Code Online (Sandbox Code Playgroud)
如何用LINQ 找到满足一定条件的第一辆车的索引?
编辑:
我可以想到这样的东西,但它看起来很糟糕:
int firstItem = someItems.Select((item, index) => new
{
ItemName = item.Color,
Position = index
}).Where(i => i.ItemName == "purple")
.First()
.Position;
Run Code Online (Sandbox Code Playgroud)
用一个普通的循环解决这个问题会是最好的吗?
我有一个关于LINQ查询的问题.通常,查询返回一个IEnumerable<T>类型.如果返回为空,则不确定它是否为null.我不确定如果在结果中找不到任何内容,以下ToList()是否会抛出异常或只是空?List<string>IEnumerable
List<string> list = {"a"};
// is the result null or something else?
IEnumerable<string> ilist = from x in list where x == "ABC" select x;
// Or directly to a list, exception thrown?
List<string> list1 = (from x in list where x == "ABC" select x).ToList();
Run Code Online (Sandbox Code Playgroud)
我知道这是一个非常简单的问题,但我暂时没有VS可用.
使用LINQ,从a List<int>,如何检索包含重复多次的条目及其值的列表?
我有两个集合,Email在两个集合中都有属性.我需要获取第一个列表中Email第二个列表中不存在的项目列表.使用SQL我只会使用"not in",但我不知道LINQ中的等价物.怎么做的?
到目前为止,我有一个加入,像......
var matches = from item1 in list1
join item2 in list2 on item1.Email equals item2.Email
select new { Email = list1.Email };
Run Code Online (Sandbox Code Playgroud)
但我不能加入,因为我需要差异,加入会失败.我需要一些使用Contains或Exists的方法我相信.我还没有找到一个例子来做到这一点.
我有以下代码:
public double CalculateDailyProjectPullForceMax(DateTime date, string start = null, string end = null)
{
Log("Calculating Daily Pull Force Max...");
var pullForceList = start == null
? _pullForce.Where((t, i) => _date[i] == date).ToList() // implicitly captured closure: end, start
: _pullForce.Where(
(t, i) => _date[i] == date && DateTime.Compare(_time[i], DateTime.Parse(start)) > 0 &&
DateTime.Compare(_time[i], DateTime.Parse(end)) < 0).ToList();
_pullForceDailyMax = Math.Round(pullForceList.Max(), 2, MidpointRounding.AwayFromZero);
return _pullForceDailyMax;
}
Run Code Online (Sandbox Code Playgroud)
现在,我在ReSharper建议改变的行上添加了评论.这是什么意思,或者为什么需要改变?implicitly captured closure: end, start
我有一个LINQ查询返回IEnumerable<List<int>>但我只想返回List<int>所以我想将我的所有记录合并到我IEnumerable<List<int>>只有一个数组.
示例:
IEnumerable<List<int>> iList = from number in
(from no in Method() select no) select number;
Run Code Online (Sandbox Code Playgroud)
我想把我的所有结果IEnumerable<List<int>>都只拿到一个List<int>
因此,从源数组:[1,2,3,4]和[5,6,7]
我只想要一个阵列[1,2,3,4,5,6,7]
谢谢
我上课Items了properties (Id, Name, Code, Price).
列表中Items填充了重复的项目.
例如:
1 Item1 IT00001 $100
2 Item2 IT00002 $200
3 Item3 IT00003 $150
1 Item1 IT00001 $100
3 Item3 IT00003 $150
Run Code Online (Sandbox Code Playgroud)
如何使用linq删除列表中的重复项?
linq ×10
c# ×9
list ×2
.net ×1
c#-3.0 ×1
generic-list ×1
json ×1
json.net ×1
linq-to-sql ×1
resharper ×1
todictionary ×1