- Biztonsági aggályok miatt késik a Microsoft hatalmas AI-újítása
- Kíváncsi az EU, milyen online védelmet adnak a pornóplatformok a kiskorúaknak
- Panaszt tettek a Google ellen, mert követi a felhasználókat a böngészője
- Rengeteg áram kell az adatközpontoknak, erre válasz a geotermikus energia
- Az AI megmondja, hogy van-e fájdalma a macskának
- Max
- Hálózati / IP kamera
- Google Chrome
- ASUS routerek
- Betelik a pohár: nagy igény lenne a gyorshajtás-ellenes technológiára
- Vírusirtó topic
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Panaszt tettek a Google ellen, mert követi a felhasználókat a böngészője
- Linux kezdőknek
- Felhő alapú adattárolás (Dropbox, stb.)
Új hozzászólás Aktív témák
-
skyrush7
aktív tag
Sziasztok!
Problémáma ütköztem, nemrég kezdtem el .NET Core-ban egy foglaló oldalt lérehozni a vendégházunkhoz. Az alapfunkcionalitás rendben, tudnak dátum szerint foglalást leadni, amely mentésre kerül a DB-be.
A probléma ott van, hogy jó lenne valamilyen szinten szinkronizálni Booking és Szállás.hu-val. Mindkettőhöz van egy iCal link.
Ezt hogyan tudnám beintegrálni a .NET-es oldalamba? Lényeg, hogy ne engedjen az oldal foglalni olyan dátumra, ahova már Bookingon keresztül le lett adva foglalás.
Sajnos neten nem nagyon találtam anyagot hozzá, aránylag kezdő is vagyok még. Az iCal.NET libraryra rátaláltam, de nem nagyon találtam oktatóanyagot hozzá, hogyan is lehetne használni.
Tudtok valami tippet adni merre induljak el? -
martonx
veterán
válasz
skyrush7 #10001 üzenetére
Szia!
Ahogy látom a booking.com-nak van nagyon profi API-ja: Booking.com APIs and Documentation
Szallas.hu esetében viszont nem igazán találtam ilyet, én a helyedben felvenném velük a kapcsolatot, szeretném hinni, hogy van nekik is API-juk.
iCal-t a helyedben nem erőltetném, API integráció irányába mennék.Én kérek elnézést!
-
rgeorge
addikt
Üdvözlet! Van egy .NET Framework 4.5 32 bites projekt (Visual Studio 2012), amiből az egyik assembly-nek a nevét sikerült magyarul megadni, azaz hosszú ékezetes betűket is tartalmaz.
Egy hónapja ez az alkalmazás nem indul el bizonyos eszközökön, ahol előtte igen. A program egyszerűen nem indul el, pontosabban elindul, majd az első UI felület (bejelentkezés) megjelenése előtt leáll, kivétel nem lép fel, az eseménynaplóba csak egy ucrtbase.dll hiba kerül bele.
Ha módosítjuk az assembly nevét magyar ékezetes betűk nélkülire, a program rendben működik. Találkozott más is ilyennel? Jó lenne az okokat is kideríteni, kereséssel nem találtam hasonló jelenséget.Picard: "What we leave behind is not as important as how we've lived. After all, Number One, we're only mortal." Riker: "Speak for yourself, sir. I plan to live forever."
-
-
Keem1
addikt
Srácok, ASP.Net Core (.Net 6.0), Azure deploy Githubról.
Ez az error:
The current .NET SDK does not support targeting .NET 7.0. Either target .NET 6.0 or lower, or use a version of the .NET SDK that supports .NET 7.0.A csprojban ez van: <TargetFrameworks>net6.0;net7.0;net8.0</TargetFrameworks>
Az Azure web app runtime stack-je .Net 6.0
Ha a fenti multi FW-t kicserélem erre: <TargetFramework>net6.0</TargetFramework>, akkor működik a deploy (természetesen ha végigzongorázom 6-tól 8-ig, ugyanez, single FW ok, multi FW failure).
Ha windowson, linuxon buildelek, akkor az összes FW verzióval megy.Hogy tudom rábírni az Azure-ra hogy a neki tetszőt válassza ki, a többit hagyja figyelmen kívül?
Szerk: sajnos kell a multi FW, mert fut windowson, tesztelek Azure-on és megy egy linux szerveren is, ahol sajnos csak .NET 6.0 van. Külön fejleszteni nem akarok, mert tuti egyszer elfelejtek vmit, így meg githubról automatikusa deployódik. És a kód fordul/fut mindhárom verzión
[ Szerkesztve ]
-
petyus_
senior tag
-
Keem1
addikt
válasz
petyus_ #10007 üzenetére
De-de, jó, igazából most is .net 6-ot használok, csak mivel a webapp jelenleg teljesen kompatibilis mindhárom jelenlegi verzióval, gondoltam, kicsit tervezek a jövőre is, így pl. windowson lebuildelem mindhármat, hátha valami inkompatibilitás állna elő. De jelenleg csak pár warning csúfítja az outputot. Azure-on is 6.0-n fut, pont azért, mert a legrégebbi a linux jelenleg. És mivel a VPS ownere nem én vagyok, nem sok befolyásom van a dotnet upgrade-re (lassú lenne a folyamat, ha ráállnék).
[ Szerkesztve ]
-
martonx
veterán
A megfelelő github action dokumentációját kellene átnézd. Ennyiből amit küldtél még az se derül ki, hogy ez App Service vagy egy virtuális gép, vagy Azure function, vagy egy docker image. Szóval amelyik lépésnél dobódik ez a hiba, annak az actionnek a doksiját nézd át, github issue-jait, hátha meg lesz a megoldás.
Ha nem lesz meg, akkor pedig érdemes indítanod github issue-t nekik.Én kérek elnézést!
-
petyus_
senior tag
Én a helyedben egyelőre maradnék a 6-nál, novemberben úgyis lejár a support, tehát legkésőbb akkor illene frissíteni. Közben meg előfordulhat, hogy belefutsz valamibe, ahol breaking change volt 7/8 alatt, és onnantól amúgy sem tudnál továbbmenni mindhárommal egyszerre.
martonx: nem pontosan értem mire gondolsz, milyen issue-t csináljon, mert ez nem bug, hanem az elvárt működés. A multi-target nem arra való, hogy webapp-ot futtass több környezeten, inkább library-knél jó, hogy több frameworkkel is kompatibilis legyen (nyilván ilyenkor is figyelni kell a breaking changekre, és egy idő után lesz pár #if NET6_0, stb).
[ Szerkesztve ]
-
Szancsó
aktív tag
El is felejtettem, hogy lehet kérdezni
Nem tudom más belefutott-e, de egyszerű rendezéses gondom lenne: a magyar ABC szerint Framework alatt még ment a rendezés, de Core óta nem, és most .Net 6 / 8 alatt sem.
Külsős komponenscsomagról van szó, de egyszerűen szimulálható is:var comp = System.StringComparer.Create(CultureInfo.GetCultureInfo("hu-HU_technl"), false);
var strings = new string[] { "brummm", "ábránd", "üveg", "űr", "út", "undok", "asd", "ásd", "álm", "alm" };
Console.WriteLine(string.Join(", ", strings.OrderBy(item => item, comp)));
Az elvárt: "alm, asd, ábránd, álm, ásd, brummm, undok, út, üveg, űr"Úgy tűnik, mintha a magyarhoz tartozó comparer elfelejtett volna magyarul, vagy nem tudom. Erre van valami egyszerű megoldás? (Egyelőre írtam sajátot és azt kapja a control, de nem hiszem el, egy egy beépített gyári cucc így elromlott.)
My story is one of many thousands, and the world will not suffer if it ends too soon.
-
dqdb
nagyúr
válasz
Szancsó #10012 üzenetére
Úgy tűnik, mintha a magyarhoz tartozó comparer elfelejtett volna magyarul, vagy nem tudom.
Nem elfelejtett, hanem megtanult.Itt tudsz kísérletezni, kifejtés itt.
A betűrendbe sorolás
14. c) A magánhangzók rövid-hosszú párjait jelölő betűk (a – á, e – é, i – í, o – ó, ö – ő, u – ú, ü – ű) betűrendbe soroláskor a kialakult szokás szerint mind a szavak elején, mind pedig a szavak belsejében azonos értékűnek számítanak. A hosszú magánhangzót tartalmazó szó tehát meg is előzheti a megfelelő rövid magánhangzót tartalmazót, például:
ír Irán író
Irak írandó iroda
iram iránt iróniaA rövid magánhangzós szó kerül viszont előbbre olyankor, ha a két szó betűsora csak a megfelelő magánhangzók hosszúságában különbözik, például:
Eger kerek szel
egér kerék szél
egyfelé keres szeles
egyféle kérés széles
elöl (hol?) koros szüret
elől (honnan?) kóros szűrettAm6DAHNIbRMzSEARWxtZW50ZW0gdmFka5RydIJ6bmkuDQoNClOBc4Ek
-
vlevi
nagyúr
válasz
Szancsó #10012 üzenetére
Ennél szebb, amikor azt kérdezed tőle, hogy
string szo = "NY";
if szo.Contains("Y") {
...
}
És nem megy be az if-be, te meg lesel, mint vak a moziban, aztán rájössz, hogy az alapértelmezett culture info magyar, ezért az nem egy N és egy Y betű, hanem Ny, és abban nincs külön Y
-
Szancsó
aktív tag
Aaazigen. Valóban nagyon rég koptattam az iskolapadot, nem igazán rémlett ilyesmi.
Normál "hu-HU" esetén ok is lenne, a "hu-HU_technl" -nél azért el bírtam volna viselni, ha figyel az ékezetre, de ezek szerint jogos: az a 16. pontnak megfelelő spéci rendezés lenne. ("mind a magyar, mind az idegen többjegyű betűknek minden egyes eleme külön, önálló egységnek számít, és a besorolás nincs tekintettel sem a magyar ékezetekre, sem az idegen betűk mellékjeleire")
Na szép, akkor tanulhatom a magyart, plusz lehet átverekedni ügyfél oldalra a dolgotKöszönöm!
My story is one of many thousands, and the world will not suffer if it ends too soon.
-
Tomi_78
tag
Sziasztok!
Arraylist-et hogy kell használni arra, hogy osztályokat teszek bele és törlöm őket? Van néhány ilyen objektumom, amiket így hozok létre:
public partial class MainForm : Form
{
Bitmap deneverkepe1 = new Bitmap("kepei\\kisdenever1bmp.bmp");
Bitmap deneverkepe2 = new Bitmap("kepei\\kisdenever2bmp.bmp");
class Deneverek
{
public int dirx,diry,xhely,yhely;
public Bitmap kepe;
};
Deneverek egydenever;
System.Collections.ArrayList deneverlista = new System.Collections.ArrayList();
public MainForm()
{
for (int i=0; i<3; i++) {
egydenever = new Deneverek();
svsz = vsz.Next(1);
if (svsz==0) {
egydenever.dirx = -1;
} else {
egydenever.dirx = 1;
};
svsz = vsz.Next(1);
if (svsz==0) {
egydenever.diry = -1;
} else {
egydenever.diry = 1;
};
svsz = vsz.Next(1);
if (svsz==0) {
egydenever.kepe = deneverkepe1;
} else {
egydenever.kepe = deneverkepe2;
};
egydenever.xhely=vsz.Next(1,Width-egydenever.kepe.Width);
egydenever.yhely=vsz.Next(1,Height-egydenever.kepe.Height);
deneverlista.Add(egydenever);
};
Eddig rendben is van (remélhetőleg), de ha pl. már ki akarom rajzolni őket így:void MainFormPaint(object sender, PaintEventArgs e)
{
for (int i=0; i<3; i++) {
var denever = deneverlista[i];
e.Graphics.DrawImage(denever.kepe,denever.xhely,denever.yhely,denever.kepe.Width,denever.kepe.Height);
};
}
akkor hibaüzenetet kapok, hogy "„object” nem tartalmazza a(z) „dirx” metódus definícióját, és nem található olyan „dirx” kiterjesztésmetódus, amely „object” típusú első argumentumot fogad el (esetleg hiányzik egy „using” direktíva vagy egy szerelvényre mutató hivatkozás). (CS1061)"
és ugyanez a többi változójára is.
Azt szeretném, hogy legyenek ilyen képi objektumok a programomban, amikből később el is távolíthatok. Eredetileg sima tömbbel próbálkoztam, de azok tartalmát nem lehet megváltoztatni. -
Alexios
veterán
-
Tomi_78
tag
Köszönöm mindhármótok segítségét!
A List használatával sikerült működésre bírnom a programot:
List<Deneverek> deneverlista = new List<Deneverek>(); -
Tomi_78
tag
Még egy kérdés a tisztelt szakértőkhöz: van rá valamilyen mód C#-ban, hogy egyszerűen végigmenjek egy osztály tagjain? Mert most én kezdőként úgy próbálkoztam, hogy van egy fő osztály, amelyből minden más osztály származik a programban és foreach ciklussal próbálkozom elérni a tagokat - sikertelenül.
Tehát ez a mostani kódom:class JatekElemei
{
public int xhely,yhely;
}
class Jatekos: JatekElemei
{
public Bitmap kepe;
public byte animidozito=5,lovesvsz; //alképváltó és lövésvisszaszámláló
};
class JatLovedekei: JatekElemei
{
public Bitmap kepe;
};
List<JatLovedekei> jatlovlista = new List<JatLovedekei>();
byte jatlovdb = 0;
class Deneverek: JatekElemei
{
public int dirx,diry;
public Bitmap kepe;
public byte animidozito=5;
};
És így próbálok végigmenni rajtuk az ablak átméretezésekor:
{
foreach (JatekElemei jatelem in JatekElemei) {
jatelem.xhely*=Width/ablakszel;
jatelem.yhely*=Height/ablakmag;
}
ablakszel=Width;
ablakmag=Height;
}Erre kapom ezt a hibaüzenetet:
A(z) „Animacios.MainForm.JatekElemei” egy „típus” konstruktor, de „változó” konstruktorként használva. (CS0118)Most akkor mi hogyan van ebben a foreach-ben? Vagy ez nem is jó erre?
Azért lenne jó valami hasonló megoldást találni, hogy amikor szükséges végigmenni valamiért a program összes elemén, el lehessen azt intézni egy ciklussal.
-
Alexios
veterán
válasz
Tomi_78 #10024 üzenetére
Min akarsz végig iterálni?
foreach (JatekElemei jatelem in JatekElemei) {itt a foreach ugye maga a ciklus. Ezek után a zárójelen belül először jön a típusa az adatoknak ami esetedben JatekElemei lenne(amúgy használhatsz var-t is ha nem akarod kiírni, de itt most pont jól látszik) aztán a ciklusváltozónév amit adsz az adott elemnek, majd magát a listát amin végig akarsz iterálni. Viszont te az objektum típusát adtad meg és nem egy listát/tömböt/valamit amin végig lehet menni.
Mivel egy gyűjteményed van az egészben, és az is más típusú, ezért ha tippelnem kéne nem erre akarod használni, viszont kicsit zavaros számomra hogy mit szeretnél akkor.
Ha a kérdésed az hogy az összes JatekElemei típusú objektumodat szeretnéd frissíteni, akkor ezeket valahol trackelned kéne és azon végigiterálni(vagy technikailag reflectionnel is meg lehet valószínűleg csinálni, de ne tedd), de ebben a kódrészletben az se világos igazából hol hozod létre azokat amiket frissíteni szeretnél itt
van egy fő osztály, amelyből minden más osztály származik a programban
Már ez a kiindulási pont is rosszul hangzik amúgy hogy miért akarsz ilyet csinálni, biztos erre van-e szükséged[ Szerkesztve ]
-
quailstorm
nagyúr
válasz
Tomi_78 #10024 üzenetére
Mi alapján tanulsz? Eddigi kommentjeidből úgy néz ki, hogy nem vagy birtokában stabil tudásnak, nem érted a fogalmakat és eszközöket amiket próbálsz használni, csak másolsz és csavarsz rajta valamit.
Mielőtt nekiállsz egy grafikus játéknak, legalább egy programozás könyvön rágd át magad.#10025 Alexios: amúgy ki lehet gyűjteni reflectionnel egy assemblyben egy adott típus összes implementációját. Pl. arra jó, hogy a tesztpluginunkba így elég egy új osztályt behajítani és a lefordított plugin már ki is teszi az új osztályt a UI-ra mint választható test scenario.
[ Szerkesztve ]
-
Tomi_78
tag
Quailstorm: Ron Penton: Kezdő C# játékprogramozás c. könyvéből tanulom most az alapokat, valamint a világhálóról böngészgetve.
Alexios: azt, hogy egy fő osztályból származik minden más osztály, azért csináltam, hogy megkönnyítsem a dolgom olyan esetekre, amikor a program összes elemén végig kell menni, pl. mentés esetére vagy ha az ablak átméretezésekor mindent új helyre kell rakni.
Tehát ha mindennek van egy közös szülőobjektuma, akkor elvileg elég lenne ezen végigmenni az eredmény eléréséhez. Azt gondoltam, ehhez elég egy foreach ciklus, bár azt is, hogy az nem lesz jó, hogy a JatekElemei kétszer szerepel benne, mert nem tudom, hogy osztályokat milyen változótípusként kell megadni - már ha egyáltalán lehet.
Akkor hozzak létre egy Listát is, amelybe belekerülnek az osztályobjektumok, és ennek a Listának a nevét adjam meg a foreach-ben az egyik JatekElemei helyett? Akkor így már lassanként elvész az egyszerűség, mert ezesetben ugyanúgy gondoskodni kell a Lista kezeléséről, amikor elemeket adok hozzá vagy törlök belőle. -
quailstorm
nagyúr
válasz
Tomi_78 #10027 üzenetére
Az osztály egy absztrakt fogalom, egy memóriaértelmezési térkép. Abból először példányokat kellene létrehozni hogy legyen mit foreachelni. A foreach nem típusokon tud iterálni hanem típuspéldányok felsorolásán.
Az általad említett könyvben benne van a C# és úgy egyáltalán a programozás elméleti alapjának összefoglalása, de nem a legérthetőbb és néhol pongyola. Inkább menj át a Ruzsinszki könyvön és utána csak a konkrét játékprogramozós részekkel folytasd.
-
Alexios
veterán
válasz
Tomi_78 #10027 üzenetére
Tehát ha mindennek van egy közös szülőobjektuma
Amúgy c#-ban mindennek van egy közös szülőtípusa, úgy hívják objectAkkor hozzak létre egy Listát is, amelybe belekerülnek az osztályobjektumok, és ennek a Listának a nevét adjam meg a foreach-ben az egyik JatekElemei helyett?
Igen. Foreachel, de igazából, while, for, tökmindegy mivel gyűjteményeken iterálsz végig, nem típuson.
lassanként elvész az egyszerűség, mert ezesetben ugyanúgy gondoskodni kell a Lista kezeléséről, amikor elemeket adok hozzá vagy törlök belőle.
De valakinek csak gondoskodni kell róla nem? Vagy nem teljesen értem az elképzelésed, honnan tudja az alkalmazás hogy min akarsz végigmenni, mi legyen benne vagy nem? Az hogy van egy szülőtípus az nem azt jelenti hogy ő tisztában van minden leszármazott példányáról, ez csak a típus meghatározásban segít neked.
#10026 quailstorm : igen, én is írtam hogy reflectionnel meg lehet csinálni, csak 90%-ban ha felmerül hogy reflectionnel menne, az egy rossz gondolat
Kezdőknél pedig 100%-ban rossz gondolat, kizárt hogy egy kezdőnek bármilyen szempontból _tényleg_ szüksége legyen rá.
[ Szerkesztve ]
-
pmonitor
aktív tag
válasz
Alexios #10029 üzenetére
c#-ban mindennek van egy közös szülőtípusa, úgy hívják object
Kivéve, aminek nem az.
Foreachel, de igazából, while, for, tökmindegy
Nem tök mind1. Mert pl. foreach esetén nem módosíthatod magát az objektumot. Csak az objektum.akármi-t.
quailstorm:
Az osztály egy absztrakt fogalom, egy memóriaértelmezési térkép.
Innentől kezd érdekessé válni a történet. Lásd pl. itt.
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
Alexios
veterán
válasz
pmonitor #10030 üzenetére
Most nem teljesen értem ebből a szempontból a kötekvést, be lehet hozni persze értéktípusokat, akkor 98%-ban minden az objectből jön, a lényeg hogy nem kell csinálni egy őstípust csak azért hogy legyen egy őstípus.
Nem tök mind1. Mert pl. foreach esetén nem módosíthatod magát az objektumot. Csak az objektum.akármi-t.
Ezt pláne nem értem, ha az egész mondatot olvasod és nem csak a részét kiragadva, akkor úgy folytatódik hogy mindegy mert gyűjteményeken mennek végig. Persze most bele lehet menni iterátorokba, stb, meg abba hogy ez se teljesen igaz így, hiszen ha valami yield return-el adja a cuccokat az biztos gyűjtemény-e, de emberünk nem tudja min lehet egy ciklussal végigmenni, nem gondolnám hogy ez itt releváns.Mert pl. foreach esetén nem módosíthatod magát az objektumot. Csak az objektum.akármi-t.
Ha már ennyire kötekedni akarunk, a gyűjteményt nem tudod módosítani, pont azért mert egy enumerátoron megy a foreach[ Szerkesztve ]
-
pmonitor
aktív tag
válasz
Alexios #10031 üzenetére
Ezt pláne nem értem,
using System.Collections.Generic;
namespace Teszt
{
class TesztOsztaly
{
public int X { get; set; }
public TesztOsztaly(int x)
{
X = x;
}
}
internal class Program
{
static void Main(string[] args)
{
List<TesztOsztaly> tesztosztalyok = new List<TesztOsztaly>();
tesztosztalyok.Add(new TesztOsztaly(1));
tesztosztalyok.Add(new TesztOsztaly(2));
tesztosztalyok.Add(new TesztOsztaly(3));
foreach (var item in tesztosztalyok)
{
if (item.X == 2) tesztosztalyok.Remove(item); //Invalid!!!
}
}
}
}Így már érted?
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
válasz
Alexios #10033 üzenetére
Így talán érthetőbb:
foreach (var item in tesztosztalyok)
{
if (item.X == 2) item = new TesztOsztaly(6); //Invalid!!!
}Ezt sem engedi. De ezért nem tökmind1, hogy foreach-t, for-t, vagy while-t használsz. Mert for és while esetén mindkét művelet valid. Vagy szted. mind1?
[ Szerkesztve ]
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
Alexios
veterán
válasz
pmonitor #10035 üzenetére
Ha el is olvasod az egész mondatot amit írtam beszéljünk.
Ha már nagyon kötekvés akkor meg lehet nézni mit is csinál egy foreach:int number;
while (enumerator.MoveNext()) { number = enumerator.Current; }
Innen tök érthető hogy miért nem lehet megváltoztatni, csak hát sosem mondtam hogy meg lehet, sőt, teljesen másról beszéltem.
[ Szerkesztve ]
-
Alexios
veterán
válasz
pmonitor #10037 üzenetére
De tökmindegy, hiszen arról volt szó hogy az esetben _mindegy_ melyikkel iterálna végig rajta, egy gyűjteményen(vagy enumeratoron, mielőtt ebbe köt valaki) kell és nem egy típuson. Ebből a szempontból teljsen mindegy hogy for, while, foreach, mert a kérdés nem ez volt, hanem az hogy lehetséges-e ilyen:
foreach(tipus objnev tipus){}
ami ugye nem. Ilyen szempontból tökmindegy, mert ilyet sem lehet hogy while(tipus) meg olyat sem hogy for(tipus), mert értelmezhetetlen ebbe a formában, hiszen ez nem egy gyűjtemény. Az állítás nem az volt hogy mindig mindegy melyiket használod, hanem ebben az esetben az.[ Szerkesztve ]
-
pmonitor
aktív tag
válasz
Alexios #10038 üzenetére
Ha már ennyire magyarázod, hogy mind1, akkor azt sem kell elfelejteni, hogy for-ról és while-ról szó sem volt a kérdésben. Azt csak te képzelted bele. De ha már beleképzeled, akkor nézzük:
A kérdés nem úgy merülne fel, hogy for(típus), hanem úgy, hogy for(int i; i<típusok.Count;......
Na meg nem úgy, hogy while(típus), hanem hogy while(i<típusok.Count)....http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
Alexios
veterán
válasz
pmonitor #10039 üzenetére
Nézd már meg az eredeti kérdést, nem volt benne .Count, pont erről beszéltem hogy az nem egy gyűjtemény, hanem egy típus. A JatekElemei nem egy lista, tömb, akármi más volt, hanem egy osztály típus, max statikus countja lehetne technikailag, ami nincs. Ahogy ez is volt a kérdés hogy miért nem lehet végig menni foreachel rajta, és azért mert nem egy gyűjtemény. Ugyanúgy for és while-al se lehet vegigmenni rajta, mert nem egy gyűjtemény, de még csak nem is egy peldanyositott akármi
-
Alexios
veterán
válasz
pmonitor #10043 üzenetére
Nincs olyan amin foreach-el végig lehet menni, de while-al nem, fentebb mutattam is példát miért van ez így(mert pl. a foreach is egy while-ra fordul), a hashset sem kivétel ezalól(for-al is meg lehet természetesen csinálni, nem muszáj indexel elérni elemeket for cikluson belül is, mégha nem is célszerű). Az más kérdés persze megint, hogy magaddal vitatkozol.
[ Szerkesztve ]
-
pmonitor
aktív tag
válasz
Alexios #10044 üzenetére
Sok mindent meg lehet csinálni.
HashSet<TesztOsztaly> htesztosztalyok = new HashSet<TesztOsztaly>();
.......
HashSet<TesztOsztaly>.Enumerator enumerator = htesztosztalyok.GetEnumerator();Aztán használható úgy, ahogy írod. Csak kérdés, hogy a gyakorlatban mennyire gyakran alkalmazzák így. Sztem. kb. zéró. Meg ettől még nem lesz módosítható...
[ Szerkesztve ]
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
Ú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!
- nVidia tulajok OFF topikja
- Horgász topik
- Autós topik látogatók beszélgetős, offolós topikja
- Samsung Galaxy S23 Ultra - non plus ultra
- Hearthstone: Heroes of Warcraft - free online CCG
- Ingatlanos topic!
- Luck Dragon: Asszociációs játék. :)
- Futás, futópályák
- Bivalyerős lett a Poco F6 és F6 Pro
- Videós, mozgóképes topik
- További aktív témák...