簡體   English   中英

同時檢查字符串列表中項目的所有值

[英]Check All Values for Items in String List Simultaneously

我有一個程序,只要有來自服務器的信號,它就會突出顯示服務器的名稱。 我有一個包含服務器信號的值列表,並且每秒更新一次。 我希望能夠在下一個“滴答聲”之前一次檢查整個列表,然后返回當時有信號的服務器,以便突出顯示它們。

我有以下代碼,用於確定哪個服務器具有MOST信號,以及哪個服務器具有該信號的最長時間。 您可能以為我想做的比這更簡單,但是由於某種原因我迷路了。 這是代碼(效果很好)-

var mostSignals = serverInfo.Aggregate(emptyServer, (s1, s2) =>
{
    var s1Signals = int.Parse(s1?.Signals ?? "0");
    var s2Signals = int.Parse(s2?.Signals ?? "0");
    return s1Signals < s2Signals ? s2 : s1;
});

var longestHold = serverInfo.Aggregate(emptyServer, (s1, s2) =>
{
    var s1Hold = TimeSpan.Parse(s1?.LongestHold ?? "00:00");
    var s2Hold = TimeSpan.Parse(s2?.LongestHold ?? "00:00");
    return s1Hold < s2Hold ? s2 : s1;
});

看完一些文章后,我發現其中的一條似乎是正確的路徑,但是我做錯了什么,或者那不是我想的- 檢查string []中的所有值的長度?

我為此擁有的當前代碼-

var anySignals = serverInfo.Any(x => x.Signals != "0");

但是從我可以收集到的信息來看,如果任何服務器上都有信號,它們只會返回true或false。

有任何想法嗎?

您想要的是:

var anySignals = serverInfo.Where(x => x.Signals != "0");

這將返回所有Signals不等於字符串“ 0”的服務器。

然后,您可以根據需要遍歷所有突出顯示名稱的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM