En iyi yanıtlayıcılar
sayı arasındaki değerler

Soru
-
merhaba,öncelikle yapmak istediğim verilan 2 tarih arasındaki farkı bulup bu fark arasındaki değerleri listelemek.örnek : araç kiralama 07-03-2016 15-03-2016 tarihleri arasın 8 günlük kiralama gün sayısı,fiyat listelerken 01-08 Gün arası fiyatlar,nasıl bir yol izlemeliyim ki 8 gün içindeki fiyatları listeleyeyim.
Yanıtlar
-
Ne sordugun anlasilmiyor, anlamadan yaziyorum yine :(
void Main() { var baslangic = new DateTime(2016,3,7); var bitis = new DateTime(2016,3,15); var gunSayisi = (bitis - baslangic).TotalDays + 1; var fiyatListesi = new List<Fiyat> { new Fiyat { Min=1, Max=3, Tutar=14}, new Fiyat { Min=4, Max=7, Tutar=16}, new Fiyat { Min=8, Max=11, Tutar=18}, }; var fiyat = from g in Enumerable.Range(1, (int)gunSayisi) let miktar = fiyatListesi.Single(l => g >= l.Min && g <= l.Max).Tutar select new {g, miktar}; } public class Fiyat { public int Min { get; set; } public int Max { get; set; } public decimal Tutar { get; set; } }
- Yanıt Olarak İşaretleyen Serkan Canseven 8 Mart 2016 Salı 08:03
Tüm Yanıtlar
-
Oncelikle, 07-03-2016 15-03-2016 tarihleri arasindaki fark 8 degil 9 gun, daha dogrusu olaya nasil baktigina gore degisir, 7'si ve 15'i dahil ise 9.
var gunSayisi = (new DateTime(2016,3,15) - new DateTime(2016,3,7)).TotalDays + 1;
Sorunun geri kalani ise pek anlasilmiyor. Her gunu ve tarihi listeleyen bir kod mu? Oyle ise:
var baslangic = new DateTime(2016,3,7); var bitis = new DateTime(2016,3,15); var gunSayisi = (bitis - baslangic).TotalDays + 1; var gunler = Enumerable.Range(0, (int)gunSayisi) .Select(e => new {Gun=e+1, Tarih=baslangic.AddDays(e)});
-
-
Ne sordugun anlasilmiyor, anlamadan yaziyorum yine :(
void Main() { var baslangic = new DateTime(2016,3,7); var bitis = new DateTime(2016,3,15); var gunSayisi = (bitis - baslangic).TotalDays + 1; var fiyatListesi = new List<Fiyat> { new Fiyat { Min=1, Max=3, Tutar=14}, new Fiyat { Min=4, Max=7, Tutar=16}, new Fiyat { Min=8, Max=11, Tutar=18}, }; var fiyat = from g in Enumerable.Range(1, (int)gunSayisi) let miktar = fiyatListesi.Single(l => g >= l.Min && g <= l.Max).Tutar select new {g, miktar}; } public class Fiyat { public int Min { get; set; } public int Max { get; set; } public decimal Tutar { get; set; } }
- Yanıt Olarak İşaretleyen Serkan Canseven 8 Mart 2016 Salı 08:03
-
Öncelikle cevaplarınız için teşekkürler.Ben olayı anlatayım,araç kiralamak için gittiniz ve aracı 07-03-2016 tarihinde teslim alacağınızı ve 15-03-2016 tarihinde iade edeceğinizi belirttiniz,yani siz aracı 9 günlük için kiralamış oldunuz,burada rent a car firmaların fiyat politikası var mesela 1 ila 9 gün arası 40tl , 9 ila 28 gün arası 45tl gibi.
buraada yapmak istediğim iki tarih seçildiğinde o tarih ler arasındaki fiyatları getirmek yani 1 ila 9 gün arasındaki fiyatı getirmek gibi çünkü aracı 9 günlük kiraladı gibi.bilmem anlata bildim mi
- Düzenleyen Resul Genç 7 Mart 2016 Pazartesi 14:24
-
-