Ú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ó áll
2,
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
holnapvá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.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Házimozi belépő szinten
- exHWSW - Értünk mindenhez IS
- Windows 10
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- Jelentősen meglazítja a gyeplőt a Windows 11 frissítéseknél a Microsoft
- Hálózati / IP kamera
- Kínai és egyéb olcsó órák topikja
- Ingatlanos topic!
- PROHARDVER! feedback: bugok, problémák, ötletek
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- További aktív témák...
- Xiaomi 17 Ultra 512GB Black Karcmentes állapot 16GB RAM 2029.03.11. garancia
- 27% - ASUS TUF Gaming VG27AQ1A IPS Monitor! 2560x1440 / 170Hz / 1ms / G-Sync / FreeSync
- DDR5 8GB / 16GB 4800-5600MHz SODIMM laptop RAM, több db- számla, garancia
- iPhone SE 2020 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4594
- Samsung Galaxy S23 256,Átlagos,Adatkabel,12 hónap garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


