(Real-Life Example: GPS Devices को Battery, Status, Last-Update से Filter करना)”**
LINQ (Language Integrated Query) C# का superpower है।
इससे आप lists, arrays, dictionaries, database data—सबको
query style में process कर सकते हो।
क्यों useful है?
✔ Short code
✔ Fast
✔ Readable
✔ Zero loops
✔ SQL जैसा experience
✔ Perfect for GPS + API development
आज हम LINQ को real-life GPS server के examples के साथ सीखेंगे।
LINQ =
Collection को query करने का modern तरीके से लिखने का system।
Instead of:
foreach(...)
{
if(...)
{
if(...)
{
list.Add(...);
}
}
}
You write:
var result = list.Where(x => x.Battery < 20);
Short + Clean.
list.Where(x => x.Speed > 50);
list.Select(x => x.IMEI);
list.OrderBy(x => x.Battery);
list.GroupBy(x => x.Status);
class GPSDevice
{
public string IMEI { get; set; }
public int Battery { get; set; }
public string Status { get; set; } // Online / Offline
public DateTime LastUpdated { get; set; }
}
List:
List<GPSDevice> devices = GetDevices();
var lowBattery = devices
.Where(d => d.Battery < 20)
.ToList();
अब आपके पास वह list है जो जल्दी alert भेजनी है।
var offline = devices
.Where(d => d.Status == "Offline")
.ToList();
var outdated = devices
.Where(d => DateTime.Now - d.LastUpdated > TimeSpan.FromMinutes(5))
.ToList();
GPS server में यह सबसे ज़रूरी health check है।
var sorted = devices
.OrderBy(d => d.Battery)
.ToList();
Low battery list generate करना आसान।
var fastest = devices
.OrderByDescending(d => d.LastUpdated)
.ToList();
var imeis = devices
.Select(d => d.IMEI)
.ToList();
अब backend → frontend भेजने में lightweight data।
var dto = devices.Select(d => new
{
d.IMEI,
d.Battery,
d.Status
});
API responses में यही pattern use होता है।
var grouped = devices
.GroupBy(d => d.Status);
Usage:
foreach (var group in grouped)
{
Console.WriteLine($"Status = {group.Key}, Count = {group.Count()}");
}
Result:
Online = 45
Offline = 12
Perfect for dashboard stats.
Highest battery:
var maxBattery = devices.Max(d => d.Battery);
Lowest battery:
var minBattery = devices.Min(d => d.Battery);
var dev = devices.FirstOrDefault(d => d.IMEI == "861128068064267");
bool anyOffline = devices.Any(d => d.Status == "Offline");
int onlineCount = devices.Count(d => d.Status == "Online");
Low battery + Offline:
var list = devices
.Where(d => d.Battery < 25 && d.Status == "Offline")
.ToList();
var list = devices
.OrderBy(d => d.LastUpdated)
.Take(10)
.ToList();
Perfect for server health monitoring.
var risky = devices
.Where(d => d.Battery < 30)
.OrderBy(d => d.Battery)
.Select(d => new { d.IMEI, d.Battery })
.ToList();
4 line का logic → 1 chain में complete।
C# LINQ आपके system को बनाता है:
✔ Super clean
✔ Fast
✔ SQL-like
✔ Zero loops
✔ Perfect for GPS data
✔ Super easy filtering
✔ Real-time dashboards
Real-time GPS system में 90% data manipulation LINQ से ही होता है।
0 Comments
Thanks for Commenting on our blogs, we will revert back with answer of your query.
EmojiThanks & Regards
Sonu Yadav