public void Reload() { var arr = JArray.Parse(File.ReadAllText("data/questions.json")); foreach (var item in arr) { var tq = new TriviaQuestion(item["Question"].ToString().SanitizeMentions(), item["Answer"].ToString().SanitizeMentions(), item["Category"]?.ToString()); pool.Add(tq); } var r = new FaultyRandom(); pool = new ConcurrentHashSet <TriviaQuestion>(pool.OrderBy(x => r.Next())); }
public static void Main() { ConcurrentHashSet <string> set = new ConcurrentHashSet <string>() { "string", "testing", "word", }; Console.WriteLine(set.IsEmpty ? "Empty" : "Not Empty"); set.Clear(); Console.WriteLine(set.IsEmpty ? "Empty" : "Not Empty"); for (int i = 0; i < 10; i++) { set.Add(i.ToString()); } Console.WriteLine("Contents: " + string.Join(", ", set.OrderBy(x => x))); foreach (string item in set.Take(5).ToList()) { if (set.TryRemove(item, out string removed)) { Console.WriteLine("Removed: " + removed); } } if (set.TryGetValue("7", out string str)) { Console.WriteLine(str + " was found"); } if (set.TryGetValue("8", out str)) { Console.WriteLine(str + " was found"); } }
/// <summary> /// Gets the current scanned data in polar vectors format (PolarVector ). /// </summary> /// <returns>List<PolarVector>.</returns> public static ConcurrentHashSet <PolarVector> GetCurrentVectors() { var result = new ConcurrentHashSet <PolarVector>(); var tmpList = new List <string>(); for (var index = 0; index < 8192; index++) { tmpList.Add(" "); } var scanData = tmpList.ToArray(); var stopWatch1 = new Stopwatch(); stopWatch1.Start(); var grabResult = LidarGetStringData( scanData, (ulong)scanData.Length, out var outputSize, 2000); stopWatch1.Stop(); Console.WriteLine($@"Call {nameof(LidarGetStringData)} duration: {stopWatch1.ElapsedMilliseconds}ms"); if (grabResult == 0 && outputSize > 0) { var stopWatch2 = new Stopwatch(); stopWatch2.Start(); var scanDataResult = scanData.Take((int)outputSize); Parallel.ForEach(scanDataResult, (dataString, state) => { var payLoad = dataString.Trim(); if (string.IsNullOrEmpty(payLoad)) { return; } var dataStringParts = payLoad.Split(';'); if (dataStringParts.Length <= 1) { return; } if (double.TryParse(dataStringParts[0], NumberStyles.Any, CultureInfo.CurrentCulture, out var angle) && double.TryParse(dataStringParts[1], NumberStyles.Any, CultureInfo.CurrentCulture, out var radius)) { // Us unit in meter radius = radius / 10.0; if (!(radius > 0) || !(angle >= 0)) { return; } result.Add(new PolarVector(radius, angle)); } }); stopWatch2.Stop(); Console.WriteLine($@"Call {nameof(GetCurrentVectors)} duration: {stopWatch2.ElapsedMilliseconds}ms"); } return(new ConcurrentHashSet <PolarVector>(result.OrderBy(n => n.AngleDeg))); }