- Milyen okostelefont vegyek?
- Honor Magic6 Pro - kör közepén számok
- Google Pixel 8 Pro - mestersége(s) az intelligencia
- Megjelent a Poco F7, eurós ára is van már
- Eltűnhet a Dinamikus Sziget
- Google Pixel topik
- Xiaomi 14 - párátlanul jó lehetne
- Hammer 6 LTE - ne butáskodj!
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- One mobilszolgáltatások
Új hozzászólás Aktív témák
-
Alexios
veterán
válasz
pmonitor #10049 üzenetére
Akkor még egyszer utoljára leírom.
Az állítás nem az volt hogy mindegy melyiket használod _bármelyik_ esetben, hanem hogy _ebben_ az esetben mindegy volt, hiszen ezek ciklusok, nem típusokon lehet végigmenni velük, hanem gyűjteményeken. Az eredeti kérdező kérdése az volt hogy mire jó a foreach, továbbra is fenntartom, hogy az ő esetében az lett volna a lényeg hogy gyűjteményt csináljnon és menjen rajta végig(ahogy végülis meg is csinálta), ezt pedig bármivel megcsinálhatta, foreach/for/while _ebben_ az esetben mindegy, hiszen a gond nem a foreach-el magával volt hanem hogy amit ő szeretett volna abban a formában nem lehet.
Azt hogy mit lehet módosítani közben, vagy törölni, csak te hoztad ide, senki más nem vitatta, hiszen az állítás nem az volt hogy foreachben az aktuális itemet nem lehet megváltoztatni, hanem hogy az hogy pl. foreach(string a string) miért nem értelmes.while() és a for() egyébként csak megerőszakolva működik minden enumeratoron(de nyilván nem erre tervezték.
Ez egy teljesen mellékszál, de ez nem megerőszakolás, és annyira erre tervezték hogy a foreach egy syntactic sugar ahogy fatal is írta, azaz valójában build után ez while-al fog menni az enumeratoron. Ettől függetlenül te, én, stb, mint végfelhasználó nem így fogjuk írni, hiszen nyilván azért hozták létre a syntactic sugar-t hogy használjuk, de ettől még nem árt tisztában lenni a működésével, és azzal hogy ez nem megerőszakolás.
Illetve a mindegy nem mindegy részhez annyit, hogy _mindent_ amit foreach-el meg lehet írni, meg lehet for vagy while ciklussal(hiszen a foreach is egy fancy while ciklus), de fordítva ez már nem igaz, szóval fölösleges újabb példákat hozni rá, mert senki nem vitatja ezt.+1 a linkedről:
c#-ban mindennek van egy közös szülőtípusa, úgy hívják object
Most ha attól eltekintünk hogy tök nyilvánvaló kötekvés ha azt nézzük az eredeti kérdező kérdésének mi volt a lényege, ha jól értem erre a cáfolatod a struct akar lenni [link] itt a hivatalos msdn c# language spec doksi, ez egyértelműen írja hogy All struct types implicitly inherit from the classSystem.ValueType
, which, in turn, inherits from classobject
Tehát minden struct implicit a System.ValueType-ból származik, az pedig az objectből. Ettől még nyilván van lényegi különbség a value és reference típusok között, nem kell cáfolaltot felhozni, ha ez nem tetszik a Microsoft-al vitatkozz, ők tervezték a nyelvet, és ez az ő reference dokumentumuk. -
pmonitor
aktív tag
válasz
fatal` #10046 üzenetére
Itt részletezem. De nem értem, hogy kinek jutna eszébe végfelhasználóként while() ciklussal megvalósítani a foreach()-t? De a lényeg az, hogy nagyon nem mind1, hogy foreach, for, vagy while. A while() és a for() egyébként csak megerőszakolva működik minden enumeratoron(de nyilván nem erre tervezték. A foreach() minden enumeratoron működik, de iteráció közben nem módosítható. Erre azt mondani, hogy tökmind1, az barokkos túlzás!
-
Alexios
veterán
válasz
Tomi_78 #10047 üzenetére
Jó lesz így már, nyilván kód szervezésre nem feltétlenül ez a legjobb, vagy nevezéktanra, de ha működik akkor működik. A lényeg az hogy valahogy nyilván kell tartanod ha valami konkrétan akarsz végigiterálni, aztán erre vannak különböző módok még, de kezdésnek elég lesz szerintem ez neked.
#10046 fatal` : Hagyd, átment a saját blogjára továbbra is csak a lényegi mondandót kiforgatva olyanokról vitatkozni amit senki nem mondott
-
Tomi_78
aktív tag
válasz
Tomi_78 #10024 üzenetére
Tanácsaitok alapján végül egy List használatával oldottam meg a problémát, mégpedig így:
class JatekElemei
{
public int xhely,yhely;
}
List<JatekElemei> jatelemeilista = new List<JatekElemei>();
class Jatekos: JatekElemei
{
public Bitmap kepe;
public byte animidozito=5,lovesvsz;
};Jatekos a_jatekos;
class JatLovedekei: JatekElemei
{
public Bitmap kepe;
};
List<JatLovedekei> jatlovlista = new List<JatLovedekei>();
class Deneverek: JatekElemei
{
public int dirx,diry;
public Bitmap kepe;
public byte animidozito=5;
}List<Deneverek> deneverlista = new List<Deneverek>();
Aztán minden példányt a létrehozásakor beleteszek ebbe a jatelemeilista listába, pl.:
a_jatekos = new Jatekos();
(...)
jatelemeilista.Add(a_jatekos);S most már mehet rajta a foreach ciklus:
foreach (var jatelem in jatelemeilista) {
jatelem.xhely=...
}
Nekem jónak tűnik így, de ha láttok benne valami hibát, írjátok meg okvetlenül. -
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ó...
-
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.
-
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
-
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).... -
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. -
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.
-
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?
-
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?
-
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 -
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.
-
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á.
-
quailstorm
félisten
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.
-
Tomi_78
aktív 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
félisten
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.
-
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 -
Tomi_78
aktív 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.
-
Tomi_78
aktív 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
aktív 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. -
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!
-
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
-
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űret -
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.)
-
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).
-
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. -
Keem1
veterán
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).
-
petyus_
senior tag
-
Keem1
veterán
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
-
-
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. -
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. -
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?
Ú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!
- HP Reverb G2
- Easun iSolar SMW 11kW Twin Hibrid inverter // Dupla MPPT // BMS // WiFi
- GAMER PC : RYZEN 7 5700G/// 32 GB DDR4 /// RX 6700 XT 12 GB /// 512 GB NVME
- GAMER MSI LAPTOP : 15,6" 144 HZ /// i5 12450H /// 16GB DDR4/// RTX 4050 6GB/// 1TB NVME
- Manfrotto 055 magnézium fotó-videófej Q5 gyorskioldóval
- AKCIÓ! Apple Macbook Pro 16" 2019 i7 9750H 32GB 500GB Radeon Pro 5300M hibátlan működéssel
- Újra Akcióban!!! Ducky One 2 Mini és SF billentyűzetek a bolti ár töredékéért! Számla+Gari
- IBM/Lenovo Thinkpad T60
- AKCIÓ! Apple Macbook Pro 16" 2019 i9 9980HK 64GB DDR4 1TB SSD Radeon Pro 5500M garanciával
- AKCIÓ! MSI B550 R7 5700X 32GB DDR4 512GB SSD RTX 3060Ti 8GB Rampage SHIVA MSI 650W
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest