- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- GoodSpeed: AMD Ryzen 9 9900X (100-100000662WOF)+ Samsung 990 PRO 2TB MZ-V9P2T0BW
- sziku69: Fűzzük össze a szavakat :)
- laskr99: Processzor és videokártya szilícium mag fotók újratöltve!
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
- Gurulunk, WAZE?!
- Luck Dragon: Asszociációs játék. :)
- gerner1
- koxx: Az e-sport napistenének ajándéka: Lamzu Inca gamer egér
Hirdetés
Köszönjük a sok biztatást, támogatást! Utolsó pillanat a féláras hirdetésfeladásra, előfizetésre!
Új hozzászólás Aktív témák
-
joysefke
veterán
válasz
CPT.Pirk #9919 üzenetére
A projekt számára hatalmas pozitív lépés lenne, ebből a TryPop hozzáadott értéke szerintem nulla.
Egy üres konzol projektet triviális upgradelni NET6-ra, (átírsz a csproj-ban egy sort) egy nagy applikációt viszont nem lesz ilyen egyszerű.
Ha van .NET fejlesztő aki ezt főműsorban fejleszti, azt meg lehetne kérdezni, hogy ez miért nem történt még meg.
-
martonx
veterán
válasz
CPT.Pirk #9917 üzenetére
Ez esetben van egy jó hírem: Most gyorsan kipróbáltam .Net 7-tel. Ezek voltak a beállításaim a csproj file-ban:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<PublishSingleFile>true</PublishSingleFile>
<SelfContained>true</SelfContained>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<PublishReadyToRun>true</PublishReadyToRun>
<PublishTrimmed>true</PublishTrimmed>
</PropertyGroup>
</Project>Lelövöm a poént 14Mb-os lett a dotnet publish után előálló .exe file-om, amiben benne van a szükséges runtime is. Igaz, hogy ez csak egy console app.
"másik nyelvnél még ilyen megoldással nem találkoztam" - nincs hátránya, hacsak az nem, hogy ilyenkor kötelező előre megmondanod, milyen OS-t célzol meg. Más nyelveknék előbb telepítened kell a runtime-ot, és majd csak utána tudsz bármit futtatni. A .Net eléggé király ezzel, hogy vinni tudja magával a minimálisan szükséges runtime-ot (gyorsan tegyük hozzá, hogy ez csak console appokra igaz cross platform szinten, nem cross-platform szinten windows only feature).
-
joysefke
veterán
válasz
CPT.Pirk #9911 üzenetére
Ilyenkor mi van?
Használod a Peek-etvagy updatelsz .NET 6-ra (Standard 2.1-re)
Netes példákban én is láttam ezeket, de nem írták, hogy valamit kellene hozzájuk bekapcsolni.
1,
A MS-nak egész jó online C# / .NET doksija van /learn.microsoft.com/. Első körben, ha full homály valaminek a működése, akkor azt érdemes megnézni.
Queue<T>.Peek Method (System.Collections.Generic) | Microsoft LearnA bal felső sarokban a drop-downból ki is tudod választani, hogy mi a target framework verziója.
2,
Sajnos nem készült dokumentáció a kódról pár soros szösszeneteken túl, így a "mire gondolt a költő" helyzet van mikor nézem mi lehet a gond.Ha ténylegesen meg kell értened hogy mit csinál az a metódus amit belinkeltél, akkor mivel tiszta függvénynek tűnik és fontos logikát kódol (tehát minimális befektetéssel tudsz hasznos tesztet írni), ezért a legjobb amit tehetsz, ha írsz rá unit-teszteket, azt könnyű futtatni, debuggolni, ezért egyszerre tudod megérteni és kikupálni a függvényt.
Ehhez persze az kéne, hogy a unit teszt vagy elérje a metódust /A/ vagy a metódus ne az osztályban legyen deklarálva /D/, vagy objektumként /B/ vagy delegate-ként /C/ átadva, így tesztelhetővé válik.
-
joysefke
veterán
válasz
CPT.Pirk #9904 üzenetére
A leírásod arra utalt, hogy még "látod", hogy van benne elem és úgy dob exceptiönt.
Debug buildben látnod kellett volna a ciklus fején a feltétel ellenőrzése előtt hogy üres a stack -kurzort fölé viszed-.Ha az a baj, hogy kifogyott a Queue, akkor éppen berakhatsz egy (Count > 0) && -t a feltétel elejére vagy Peek() helyett TryPeek(out string)-kel dolgozol.
if (s1.TryPeek(out string item) && item != "&&" && item !="||" )
{
s1.Pop();
}
-
quailstorm
félisten
válasz
CPT.Pirk #9904 üzenetére
Igen, így van. A Peek üres stack esetén exceptiont dob. Szóval az utolsó pop után a következő feltételellenőrzés a while-ban exception, nem pedig false. A Count ellenőrzése jó lesz.
-
joysefke
veterán
-
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.
Ú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!
- Dell Latitude 7480 core 5-6300 8 Gb ddr4, 256 Gb ssd, 14" FHD áfás számla
- Dell Latitude 5470 I5-6440HQ (szuper 4 magos) 14" laptop, áfás számlával
- Dell Latitude 3420,14",FHD,i5-1145G7,16GB DDR4,256GB SSD, WIN11
- Dell OptiPlex 390,8 GB,i5-2500, 256 SSD,500 HDD
- Garis Gamer Gép - TUF B850M, Ryzen 5 9600X, 32GB DDR5, RX 6750XT, 2 TB M.2 SSD, 850W, Vízhűtés
- Bomba ár! HP ProBook 440 G8 - i5-11GEN I 16GB I 256SSD I HDMI I 14" FHD I Cam I W11 I Gar
- HIBÁTLAN iPhone 13 Pro 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3073, 100% Akkumulátor
- Microsoft Surface Pro 7 tablet
- GYÖNYÖRŰ iPhone 13 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3058
- Apple iPhone 16 Pro 128GB, Kártyafüggetlen, 3 Év Garanciával
Állásajánlatok
Cég: FOTC
Város: Budapest