- Apple iPhone 16 Pro - rutinvizsga
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Magisk
- Honor 400 Pro - gép a képben
- Milyen okostelefont vegyek?
- Xiaomi 15 - kicsi telefon nagy energiával
- Az Oppo Find X8 Ultra lett a legvékonyabb kameramobil
- Honor 200 - kétszázért pont jó lenne
- Apple Watch Ultra - első nekifutás
- MIUI / HyperOS topik
Új hozzászólás Aktív témák
-
-
fatal`
titán
válasz
CPT.Pirk #9897 üzenetére
Ott valami más gond lesz.
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
var stack = new Stack<string>();
stack.Push("1");
stack.Push("2");
Console.WriteLine(stack.Pop());
Console.WriteLine(stack.Pop());
}
}Kimenet
2
1
Ha InvalidOperationt dob, akkor a második Popnál már üres a stack. Vagyis vagy bele sem került, vagy valamikor ki lett már véve az elem, amit nem figyeltél.A VS amúgy csak egy fejlesztőkörnyezet, olyan mintha Java-nál azt kérdeznéd, hogy IDEA alatt miért dob valami exceptiont.
-
fatal`
titán
válasz
quailstorm #9755 üzenetére
WCF mihez kell? Az SOAP és már semmire se használnám.
NewtonSoft.Json, de .NET alatt van már beépített JSON szerializáció/deszerializáció.
A JSON nekem is olvashatónak / szerkeszthetőnek minősül, ha le van dokumentálva.
-
-
fatal`
titán
-
fatal`
titán
"Nemsokára lehet egy új WPF GUI nélküli kis DLL library-be kell kezdnem a full nulláról, és azt kérdezném, hogy ha ez .NET 5.0 Class lib-be kezdem el csinálni, akkor az még a .NET Frameworkös projektekben használható C# lib lesz?"
Nem. A .NET Standard 2.1 már nem kompatibilis a Frameworkkel, 2.0 még igen.Itt egy táblázat. A .NET Standard 2.0 class lib használható Framework és .NET Core illetve .NET 5 alatt is.
-
fatal`
titán
válasz
pmonitor #9502 üzenetére
Ismét terelsz.
Nem azt mondtam, hogy nem javítunk meg elcseszett designer fájlokat, hanem, hogy nem gányolunk bele mindenfélét. Nyilvánvalóan nem árt, ha értjük, hogy mi van benne, de azt nem azt jelenti, hogy össze-vissza gányolunk benne.
#9503: A fenti eset nem ritka, így ebben az esetben nem értek egyet, de nem ez volt a kiindulópont.
De mindegy, túl sok hsz-t pazaroltunk erre, a lényeg, hogy alapvetően nem abban turkálunk.
-
fatal`
titán
válasz
pmonitor #9500 üzenetére
Akkor most olvasd el mégegyszer a kiindulást adó kérdést/problémát.
A designer által generált fájlba nem írunk bele. Erre jössz azzal, hogy nincs rá feltétlenül szükség. Senki nem is mondta, hogy van, lehet bármekkora kuplerájt csinálni a kódban, de nem erről volt szó.
-
fatal`
titán
válasz
pmonitor #9495 üzenetére
Kicsit kevered a dolgokat. Itt azért nincs külön designer fájl, mert kódból pakolja fel a controlokat a formra (nem is látszódnának a designerben VS alatt).
Designer által létrehozott fájlokat nem piszkálunk, mert felül fog íródni (vagy épp elszáll a designer ha hülyeséget írnak bele). Persze át lehet írni őket, csak nagyon figyelni kell (viszont a példád nem állja meg a helyét).
-
fatal`
titán
válasz
kw3v865 #9413 üzenetére
Nem hoztad létre a belső listát.
Először lista.Add(new List<adatok>());
Majd utána lista[0].Add(new adatok());
Utána már állítgathatod az állapotát, nyilván több elem esetén ciklusok fognak kelleni.
A konvenció szerint az osztályok és a propertyk nevét nagybetűvel kezdjük (Adatok, Dozis, Allapot).
-
fatal`
titán
válasz
DrojDtroll #9398 üzenetére
FormatException vagy ConfigurationErrorsException (ezt inkább hiányzó config paraméternél tenném, ha nem lehet értelmes defaultot adni)
-
fatal`
titán
válasz
kiskornel #9319 üzenetére
Attól függ mit szeretnél, C#-ban nincs union type. Ha csak kiírni ToString()-gel, akkor a #9320-ban említettek is megfelelőek lehetnek.
Lehet több overloadot csinálni (persze 5 paraméternél ez baromi sok lenne), vagy pedig builder patternre (vagy ahhoz hasonlóra) lehet szükséged, bár ez konstruktornál hasznos.
Akár típusra pattern matching is játszhat.
A cél nélkül nehéz megmondani
-
fatal`
titán
válasz
martonx #9289 üzenetére
Mondjuk, amihez scala.js-t használtunk az bőven 10k+ sor és egy igen bonyolult űrlap több száz, adott esetben többezer mezővel, amik között rengeteg validáció és kapcsolat van. A backend meg ASP.NET MVC razorral (2015-ös projekt), szerintem indokolt volt.
Egyébként már az, hogy típusos a frontend szerintem életmentő, emiatt akár pársoros js esetén is indokolt lehet a ts. Persze angular meg egyebek sok esetben felesleges.
(#9291) harylmu: Én láttam már apró weboldalt is angularral, ami szerintem is overkill.
-
fatal`
titán
-
fatal`
titán
válasz
csorbinorbi #8934 üzenetére
Akkor lehet hogy régi C# verziót használsz. Használd akkor a string.formatot az eredeti példából.
-
fatal`
titán
válasz
csorbinorbi #8932 üzenetére
Tegyél fel egy TextBoxot a formra és
TextBox.Text = $"{sProcessName} is running!;
vagyTextBox.Text = $"{sProcessName}
is not running!; -
fatal`
titán
Így azt küldöd be az SqlQuerynek hogy 't.Nev' mint érték (stringként), arra meg gondolom nem talál rekordot.
Ez paraméterrel nem működik (így nem lenne értelme a paraméternek), különben így lehetne SQL Injectiont csinálni.
NULL-ra meg egyébként sem működik, mert a WHERE x = NULL feltétel az mindig hamis lesz, ilyenkor az IS NULL-t kell használni SQL-ben.
-
fatal`
titán
Kérdésem, hogy ezt nem lehet-e egy class-ba tenni, vagy valamibe, amivel ezt a szekvenciát szeretném megismételni? Nem is konkrét megoldást várok, hanem egy linket (olvasnivalót).
Nem néztem a kódot, de szerintem tedd ki egy függvénybe / metódusba.
A másik kérdésem, hogy a következő két változó nevezés használata célszerű-e? KilepoKerdesreAValasz és KilepoKerdesreAValaszKetto, mert a neve nem beszédes, ránézésre nem tudni (csak a változónevet nézve), hogy
- mi a különbség,
- a KilepoKerdesreAValaszKetto mit csinálEgy, kettő, három ... n semmiképpen sem ajánlott, csak ha egyértelmű, próbálj beszédesebb nevet adni nekik. És bár az iskolákban nem tanítják, de szerintem kerüld a magyar változónevek használatát.
Elnevezésekhez:
Naming Guidelines
C# Coding Standards -
fatal`
titán
válasz
Chesterfield #8112 üzenetére
A model first az azért jó, mert már deprecated
-
fatal`
titán
válasz
joysefke #8006 üzenetére
Nem a zárójelek javították meg, hanem az hogy a GZipStream using blokkon kívülre került a ToArray hívás, emiatt nem kell mindent bezárójelezni, de a biztonság kedvéért nem árt.
A flush pedig nem szükséges (mivel a végén van nem okoz problémát, csak kétszer hívódik), mert a Dispose során a Framework meghívja mindenképpen.
-
-
fatal`
titán
válasz
Peter Kiss #7410 üzenetére
Hupsz, az assemblyt elfelejtettem megnézni
Jó az aláírásod második fele
-
fatal`
titán
System.AppDomain.CurrentDomain.BaseDirectory
Winformsos alkalmazás esetén:
System.Windows.Forms.Application.StartupPath
Szerk.: Elnézést, elfelejtettem szerkeszteni az előző commentem.
(#7314) _kovi_: Ha fejlesztesz, felejtsd el a magyart, szinte semmi sem elérhető és ebben a szakmában ez nem is fog változni. Angolul viszont közel végtelen információ érhető el.
-
fatal`
titán
-
fatal`
titán
Szerintem kevered a vart a dynamic-kal. Maximum olyan eset tud előfordulni, hogy object lesz a konkrét típus helyett (pl. a Regex osztályon van ilyen a Matches property esetében).
(#7182) harylmu: Az említett szintaxis sokkal olvashatóbb, mint az hogy .Item1, .Item2 stb.
Olyan helyzetben tud hasznos lenni, amikor 1-2 helyen kéne pár elemű összetett típus (de nem kulcs-érték pár) és nem akarsz külön osztályt definiálni. Nem túl gyakori de azért néha előfordul.
-
fatal`
titán
válasz
lord.lakli #6967 üzenetére
Tudom mi az SQL injection, csak még hozzáfűztem egyéb dolgot ahhoz képest amit írtál.
-
fatal`
titán
válasz
lord.lakli #6965 üzenetére
Meg nem értem az OleDB-t sem, sima SqlConnection és SqlCommand.
-
fatal`
titán
válasz
Neil Watts #6845 üzenetére
Szia!
Én így csináltam:
public static string RemoveAccents(this string sourceString)
{
var normalizedString = sourceString.Normalize(NormalizationForm.FormD);
var stringBuilder = new StringBuilder(normalizedString);
for (var i = 0; i < stringBuilder.Length; i++)
{
if (CharUnicodeInfo.GetUnicodeCategory(stringBuilder[i]) == UnicodeCategory.NonSpacingMark)
{
stringBuilder.Remove(i, 1);
}
}
return Regex.Replace(stringBuilder.ToString(), "[^A-Za-z0-9_.]", "");
}Mondjuk ez csak betűket, számokat, aláhúzás jelet és pontot enged a szövegbe, de innen már könnyen átírod, ha jól rémlik elég ha kiveszed a regex replacet a végéről.
Fájlnévhez használtam (még van előtte egy szóköz törlés is, csak azt kitöröltem, de csak most vettem észre, hogy neked nem tökéletes.
Ú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!
- AKCIÓ! GAMER PC: Új RYZEN 5 4500-5600X +RTX 3060/3070/3080 +Új 16-64GB DDR4! GAR/SZÁMLA! 50 FÉLE HÁZ
- UHH! HP EliteBook 840 G8 Fémházas Laptop 14" -45% i5-1145G7 4Mag 32/512 FHD IPS Intel Iris Xe Magyar
- Xiaomi Redmi Note 13 Pro 5G - 8/256 - Media Markt garancia
- Xiaomi Redmi 9at - 2/32 - szürke
- Xiaomi Mi8 - 6/128 - fekete
- Telefon felvásárlás!! Samsung Galaxy Note 10+/Samsung Galaxy Note 20/Samsung Galaxy Note 20 Ultra
- Game Pass Ultimate előfizetés azonnal, élettartam garanciával, problémamentesen! Immáron 8 éve!
- LG 65QNED86T / 65" - 164 cm QNED / 4K UHD / 120Hz & 3ms / HDR 10 Pro / FreeSync Premium / HDMI 2.1
- 0% THM 3 havi részlet! Beszámítás, 27% áfa, Sapphire Nitro+ RX 9070XT 16GB készletről
- Eladó ÚJ BONTATLAN Honor Magic6 Lite 8/256GB fekete / 12 hónap jótállással!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged