Я пытаюсь найти IndexOf в списке, используя значение в качестве ссылки.Как, скажем, Id = 23144, я хочу индекс при вводе Id.Этот список объектов создается десериализацией Json, полученного с помощью RestSharp.
{
"not_modified_since":"2018-06-05T22:22:18Z",
"host":[
{
"active":true,
"config_profile_bag_id":0,
"container_id":0,
"db_pickup_tm_utc":"2018-01-11T10:12:55",
"discovery_status":0,
"display_unit_id":0,
"domain_id":103947039,
"geolocation":"(0,0)",
"id":195392183,
"license_end_date":null,
"licensed":true,
"name":"Broadsign Services - Mathias - 16x64",
"nscreens":0,
"primary_mac_address":"00:0c:29:e0:e6:22",
"public_key_fingerprint":"Redacted",
"remote_clear_db_tm_utc":"1970-01-01T00:00:00",
"remote_reboot_tm_utc":"2017-12-12T10:17:23",
"secondary_mac_address":"",
"volume":-1
}
]
}
У меня есть следующий код:
private void bRun_Click(object sender, EventArgs e)
{
var client = new RestClient(endPoint);
var request = new RestRequest("/host/v14/by_id", Method.GET);
request.AddHeader("accept", "application/json");
request.AddHeader("Authorization", "Bearer " + key);
request.AddParameter("domain_id", "103947039");
request.AddParameter("ids", "195392183");
request.OnBeforeDeserialization = resp => { resp.ContentType = "application/json"; };
request.RequestFormat = DataFormat.Json;
var response = client.Execute<RootObject>(request);
var rootObject = JsonConvert.DeserializeObject<RootObject>(response.Content);
var hosts = rootObject.Host;
oResponse.Text = hosts.IndexOf();
}
Может быть несколько хостов, поэтому я бы хотел бытьсмог найти индекс каждого хоста, чтобы я мог узнать, какой из них получить значение при соблюдении определенных условий, например, тех, которые соответствуют идентификатору.В сумме я хотел бы иметь возможность узнать, что идентификатор 195392183 имеет индекс 0, чтобы я мог затем использовать этот индекс для получения значения для имени (например, Broadsign Services - Mathias - 16x64).
EDIT!РЕШИТЬ!Это сработало для меня:
var index = rootObject.Host.FindIndex(host => host.Id == 195392183);