- Út Korea turistaparadicsomába, amiről talán még sosem hallottál: Csedzsu-sziget
- Perplexity Pro AI képszerkesztési limit -egy képgenerátor függő tapasztalatai
- Adattár lemez előkészítése távlati Windows telepítéshez
- Jelszóvédett IBM Thinkpad R50e működőképessé tétele.
- ATK Blazing Sky X1 Ultimate Metallic Red gamer egér
- Elektromos rásegítésű kerékpárok
- sellerbuyer: Milyen laptopot vegyek? Segítek: semmilyet!
- eBay-es kütyük kis pénzért
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sellerbuyer: Te tudod, mi mennyit fogyaszt az otthonodban?
- bambano: Bambanő háza tája
Új hozzászólás Aktív témák
-
joysefke
veterán
Hali!
nem teljesen értem, mit szeretnél csinálni, vagy a kód amit beszúrtál mit csinál, de a következő észrevételeim lennének:
1,
if (holnap+1=1)
ide szerintem == operátor kéne, nem értékadás. Egyáltalán miért nem kapsz itt hibát, hiszen az értékadás bal oldalán nem változó áll2,
Az if( ) feltételeid egymást mind kölcsönösen kizárják, tehát nem fordulhat elő, hogy egyszerre kettő if-törzsbe belépsz.Sokkal átláthatóbb lenne a kód, ha
if(A) {..}
else if (B) {...}
else if (C) {...}
else {}konstrukciókat használnál.
Sőt, ilyen helyzetben én inkább egyből switch statementet használnék, ami a
holnap
változódtól függően csinálna valamit (adna értéket a listaelemeidnek )3,
Ha ki akarod kerülni ezt a "hét napja" enum-aritmetikát /ami vonzza a hibákat mint a mágnes/, akkor az első dolog ami nekem eszembe jut (persze nyilván vannak más, akár jobb megoldások is) készíteni statikus extension methodokat, amelyek kényelmessé teszik az életedet:
Pld:
public static class DayHelper
{
public static int DaysToMonday()
{
var today = DateTime.Today.DayOfWeek;
var offset = DayOfWeek.Monday - today;
return offset >= 0 ? offset : 7 + offset;
}
public static int DaysToSunday()
{
var today = DateTime.Today.DayOfWeek;
var offset = DayOfWeek.Sunday - today;
return offset >= 0 ? offset : 7 + offset;
}
public static int DaysToMonday(this DateTime date)
{
var day = date.DayOfWeek;
var offset = DayOfWeek.Monday - day;
return offset >= 0 ? offset : 7 + offset;
}
Stb stb stb
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine(DayHelper.DaysToMonday());
Console.WriteLine(DayHelper.DaysToSunday());
Console.WriteLine(new DateTime(2019, 4, 20).DaysToMonday());
Console.WriteLine("Hello World!");
}
}Innentől kezdve, ha hívsz a kódodban egy ilyet hogy:
DayHelper.DaysToMonday()
akkor visszaadja a hétfőig hátralevő napok számát. Ezt nyilván meg tudod csinálni a hét összes napjára.Ha pedig van egy DateTime típusú változód, akkor azon meghívva a DaysToMonday()-t visszaadja az adott dátumtól a hétfőig visszalevő napok számát. Pld:
Console.WriteLine(new DateTime(2019, 4, 20).DaysToMonday());
Visszaadja hogy 20-i dátumtól kezdve mennyit kell aludni hétfőig.
-
vlevi
nagyúr
Ez így biztosan nem jó. Ha az utolsó if, vagyis a holnap+3=1 nem teljesül, mindenképp üres lesz a két elem.
Vagy az egészet egymasba ágyazott if else szerkezetekbe rakod, vagy a switchcase ilyen esetben jobb.
Vagy előre feltöltést egy constans tömböt az eredményekkel, és csak abból választasz.
Arra is vigyázz, hogy a dayofweek angol területén vasarnap az 1, Magyarországon a hétfő. Itt is érdemes használni a culture paramétert.
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- AsRock B550M Steel Legend + AMD Ryzen 7 5700X + Corsair Vengeance LPX DDR4 3200 32 Gb
- Apple iPhone 16 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Eladó Lian Li O11 Dynamic XL White (O11DXL-W) ROG CERTIFIED "szörnyeteg"
- Acer Nitro Gamer Laptop, karcmentes, doboz, 1 év garancia(i7 11800h, 3050ti)
- Asztali PC R5 5500 RX 5700 XT 16GB DDR4 512GB NVME
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest