Soran
Grublama

Genel Tartışma
-
Elimde 9 adet string veri var Ör: "A", "B" ,"C","D","E","F","G","H","I"
ben bu degerleri "A", "B" ,"C","D" gelirse 1 degeri döndürsün
,"E","F","G" degerleri gelirse 2 döndürsün
"H","I" degeri gelirse 3 döndürsün istiyorum
hangi veri yapısı ile bu degerleri grublayabilirim ben DataTable yapmayı uygun gördüm sizce hangisini yapmalıyım
şimdi input olarak A degeri girildigi zaman 1 degerini döndürmesini istiyorum .
- Değiştirilmiş Tür Kyamuran SalibryamMicrosoft contingent staff, Moderator 30 Kasım 2020 Pazartesi 23:10
Tüm Yanıtlar
-
-
-
public int UsageClass(string frequencyValue)
string[] frequency = { "Her Gün < 30 dakika Her Hafta < 2 saat Her Ay < 1 gün Her Sene < 5 gün" ,
"Her Gün 30-120 dakika", "Her Hafta 2-8 saat", "Her Ay 1-6 gün", "Her Sene 15 gün-2 ay",
"Her Gün 2-6 saat", "Her Hafta 1-3 gün", "Her Ay 6-15 gün", "Her Sene 2-5 ay",
"Her Gün > 6 saat", "Her Hafta > 3 gün", "Her Ay > 15 gün", "Her Sene > 5 ay",
};
for (int i = 0; i < frequency.Length; i++)
{
if (frequency[i].Contains(frequencyValue))
{
return i + 1;
}
}Cevabınız için teşekkür ederim verilerim string olarak uzun oldugu için if koşulu ile yapmayı uygun görmedim ben bu şekilde yaptım . Cevabınız için teşekkür ederim
- Düzenleyen CllEker 13 Kasım 2020 Cuma 07:30
-
public int UsageClass(string frequencyValue)
string[] frequency = { "Her Gün < 30 dakika Her Hafta < 2 saat Her Ay < 1 gün Her Sene < 5 gün" ,
"Her Gün 30-120 dakika", "Her Hafta 2-8 saat", "Her Ay 1-6 gün", "Her Sene 15 gün-2 ay",
"Her Gün 2-6 saat", "Her Hafta 1-3 gün", "Her Ay 6-15 gün", "Her Sene 2-5 ay",
"Her Gün > 6 saat", "Her Hafta > 3 gün", "Her Ay > 15 gün", "Her Sene > 5 ay",
};
for (int i = 0; i < frequency.Length; i++)
{
if (frequency[i].Contains(frequencyValue))
{
return i + 1;
}
}Cevabınız için teşekkür ederim verilerim string olarak uzun oldugu için if koşulu ile yapmayı uygun görmedim ben bu şekilde yaptım . Cevabınız için teşekkür ederim
Aslinda bu haliyle dogru olmamis, hataya acik. Harezmi'nin onerisi hic olmazsa dogruydu.
Soyle daha iyi olabilir:
void Main() { Console.WriteLine(UsageClass("Her Hafta 1-3 gün")); Console.WriteLine(UsageClass("Her Gün > 6 saat")); Console.WriteLine(UsageClass("6 saat")); } public static int? UsageClass(string frequencyValue) { var frequencies = new[] { new {Values = new string[] {"Her Gün < 30 dakika", "Her gHafta < 2 saat", "Her Ay < 1 gün", "Her Sene < 5 gün"}, GroupId = 1}, new {Values = new string[] {"Her Gün 30-120 dakika", "Her Hafta 2-8 saat", "Her Ay 1-6 gün", "Her Sene 15 gün-2 ay"}, GroupId = 2}, new {Values = new string[] {"Her Gün 2-6 saat", "Her Hafta 1-3 gün", "Her Ay 6-15 gün", "Her Sene 2-5 ay"}, GroupId = 3}, new {Values = new string[] {"Her Gün > 6 saat", "Her Hafta > 3 gün", "Her Ay > 15 gün", "Her Sene > 5 ay"}, GroupId = 4}, }; var group = frequencies.SingleOrDefault(f => f.Values.Any(v => v == frequencyValue)); return (group?.GroupId); }
Tabii aslinda sizin stringlerde belli bir kalip var. Bu kaliba uygun daha efektif data yapilari da olusturulabilir. Kullanim yeri ve seklini en iyi siz bildiginize gore degerlendirirsiniz.
Blog
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
Not: Temelin geri zekali arkadasi Idris bu mesaja da atlayip ne kadar aptal oldugunu bir kez daha belgeleyebilir. Kendisinin tek marifeti beni takip edip, neden her soruya cevap verdigimi, yardim etmeye calistigimi sorgulamaktir. Bu beyinsiz zavalliya, aptal oldugunu hatirlatmayi unutmayiniz.