- Radeon RX 9060 XT: Ezt aztán jól meghúzták
- Atomenergiával dübörögnek tovább az Amazon adatközpontok, SMR-ek is jöhetnek
- Macron betiltatná az EU-ban a közösségi médiát a 15 év alattiaknak
- Az NVIDIA ipari AI-felhőt épít a németeknek, együtt az OpenAI és a Google
- Két új Ryzen közül választhatnak a kézikonzolok
- Radeon RX 9060 XT: Ezt aztán jól meghúzták
- Autós kamerák
- HiFi műszaki szemmel - sztereó hangrendszerek
- Milyen notebookot vegyek?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Milyen videókártyát?
- AMD Navi Radeon™ RX 9xxx sorozat
- Ismét a Gigabyte alaplapjaival van az Erő
- Fujifilm X
- Sony MILC fényképezőgépcsalád
Új hozzászólás Aktív témák
-
ArchElf
addikt
Hogy ne adhatnál neki, épp ez a lényege a try-nak. pl:
FileStream fileStream = null;
try
{
fileStream = new FileStream(@"c:\file.txt", FileMode.Open);
// Fálj olvasása
}
catch (IOExceprion ioex)
{
// IO hiba feldolgozása (pl file nem létezik, nem megnyitható, stb)
}
catch (Exceprion ex)
{
// Egyéb hiba feldolgozása (akármi más hiba)
}
finally
{
if (fileStream != null)
fileStream.Close();
}AE
-
ArchElf
addikt
Ha a try-on kívül deklarálod de értéket nem adsz neki, akkor a try-catch-finally-ban mindenféleképp (a finally-ban) értéket kell kapjon, hogy ne dobjon fordítási hibát.
Osztály típusúaknál érdemes legalább null-al deklarálni:
Object o = null;
érték típusúaknál meg valami érékkel (ami neked biztos nem jó):
int i = -1;AE
-
ubid
senior tag
Hali!
egy másodpercre összezavarodtam, ezért megkérdezem, biztos ami biztos :
Egy try blokkban definiált változót ( definiált és inicializált ) a try-cath-en kívülről nem érek el igaz ?
Teszem azt :
...
try
{
int n = 22;
}
cath
{
....
}Console.Write(n);
akkor ez így hibát dob igaz ?
vagy hogyha kívül deklarálom, tehát még a try-on kívül int n; de értéket csak belül adok neki akkor szintén.?
-
martonx
veterán
válasz
dabagab #2791 üzenetére
Szia!
Egyrészt ez itt a C# fórum, hahó
Másrészt ilyen táblákban háttér mókolásokat klasszikusan adatbázis szinten kellene megvalósítani, az ORM-ek (mondjuk ezen elfilóztam, hogy a DataSet mennyire számít ORM-nek, de talán egy kezdetleges ORM-nek felfoghatjuk) erre eléggé alkalmatlanok, vagy nagyon nyögvenyelős velük dolgozni.
Javaslom, hogy csinálj egy view-t, meg három tárolt eljárást mellé (update, insert, delete), és ezeket told be a datasetbe. -
dabagab
csendes tag
Sziasztok!
Ado.net-tel kapcsolatos kérdést (DataSet-tel vannak gondok VS-ben) azt is feltehetem vagy a VisualBasic topicba tegyem fel?
A probléma. Létrehozok a Tutorial alapján egy dataset osztályt. Oda ráhúzom a táblákat.
És az egyik táblát úgy kell létrehoznom, egy kap egy új oszlopot, amely egy másik tábla oszlopát is felhasználja.SELECT InvoiceLineItems.InvoiceID, InvoiceLineItems.InvoiceSequence, InvoiceLineItems.AccountNo, InvoiceLineItems.Amount, InvoiceLineItems.Description,
GLAccounts.Description AS AccountDescription
FROM InvoiceLineItems INNER JOIN
GLAccounts ON InvoiceLineItems.AccountNo = GLAccounts.AccountNoÉs ekkora ha a Configurációs varázslóban az Advanced Options-ra kattintok Akkor ki lehet választani, hogy a DataSource-hoz generálja le az Update, Delete, Insert statementeket.
Kijelölöm befejezem a konfigurálást.
Aztán próbáltam az aktuális táblának az Update metódusát elérni:
Me.InvoiceLineItemsTableAdapter.Update(Me.InvoiceEntry.InvoiceLineItems)
De nem engedte syntax error-t nyom az arcomba. (Me C#-ban a This kulcszónak felel meg)Jó visszamentem a DataSethez, és meglestem a z InvoiceLineItems táblát mégegyszer. És már nem volt kipipálva az Update, Delete, Insert statementek...
És hiába okézom le, hogy na generálja le ezeket nekem. Ha mégnezem újból sajnos uncheckolva vannak...De ezt csak akkor csinálja, ha két táblát így kötök össze...
Ha egyedül van ez a tábla, nincs benne InnerJoin akkor az Update és társai statemnetek megvannak. megtartja... és akkor tudom Update-elni a DataSet-tet de így...
Nem értem, hogy miért nem generálja le az Update és társait a VS...
-
bod101
aktív tag
Szisztok!
Van egy .cs forráskódom ezt le tudom fordítani .rdlc-re? (Ha nagy butaságot kérdeztem bocsi
)
Köszi!
-
martonx
veterán
válasz
Neil Watts #2778 üzenetére
ha esetleg nem a működő kódot másolod be, hanem a nem működőt (külön jelölve azt a sort ahol a hibát kapod), talán többet látunk. Másrészt, kérem nézd meg a debug-os videót, majd e új tudásod alapján köved figyelemmel futásidőben a változóid értékét, és 90% hogy látni fogod a hibát.
Ha mégsem, akkor természetesen segítünk. -
-
martonx
veterán
válasz
MrSealRD #2781 üzenetére
Ha azt mondom debugolj, meg használj collection-t, akkor ezeket jószándékból teszem.
Persze hozzá tehetném, hogy gugli a barátunk, meg mondjuk visual studio debug tutorial kulcsszavakkal javaslom kezdeni a keresést, de feltételezem nem 60-as IQ-jú emberek írnak be ide, és maguktól is láttak már gugli keresést.
Látod core2 is szépen kidebugolta (de csúnya hunglish szó) a hibáját, s máris értelmesebb kérdést tudott feltenni.
Sajnos a programozás már csak ilyen. Van amikor egész konkrétan egy programsorral el lehet intézni valamit, mert látod, hogy érzi, érti a működést, csak éppen megakadt valaki valahol (ez mondjuk viszonylag ritka eset). És van amikor százszor többet ér, ha rávezetünk valakit a Visual Studio helyes használatára.
A hangvételem sajnos olyan-amilyen, ez mindenképpen hiányosságom, igyekszek senkit nem lehülyézni, az oktatás, és a diákok romló színvonala felett is el-el busongunk néha. -
MrSealRD
veterán
Kicsit félreértettél. Semmi probléma nincs azzal, hogy az "élet alapján" próbálsz segíteni. Én arra céloztam amikor odadobnak valakinek itt/másol egy ilyen kifejezést a kérdezőnek, hogy "használj collection"-t. Akkor ezzel az a gond, hogy sem a tömb-el, sem a collection-el nem oldódik meg a problémája mert egyiket sem fogja tudni használni...
Önmagában a megoldásban én sem hiszek, mert azzal nincs meg a gondolatmenet ami rávezet.
Kicsit hátrébb lépve a témától, martonx által rendszeresen tett mérhetetlen nagyképű és lenéző hozzászólásoktól(segítségtől) hullik ki a hajam. Ilyen ronda módon válaszolni ebben a topicban még senkit nem láttam...
-
kispx
addikt
Az előző hozzászólásokat olvasgatva, elkezdett érdekelni a VS-hez tartozó eszközök használata, pl.: debuger, refactor, stb. Bár az egyetemen elmondták, hogy mire valók ezek, de gyakorlati példát nem vettünk rá. Valaki tudna magyar (ha nincs akkor angol) nyelven irodalmat ajánlani ezekhez, ahol nem azt mondják el, hogy mik ezek és mire valók, hanem példákon keresztül levezeti a használatukat.
-
válasz
MrSealRD #2781 üzenetére
Én azt vallom, hogy nem a tömb a programozás alapja, mégis azzal jön minden tananyag. Mi itt az élet alapján próbálunk segíteni, ezért emlegetünk olyan rövidítéseket, kifejezéseket, amiknek haszna is van és nem csak a jobb jegy elérésében.
Azért jobb azon az úton elindulni, mert akkor utána nem kell rosszul rögzült vagy el sem mondott dolgokkal szinte újra elkezdeni előröl az egészet. Aztán ha nem érti valaki, tovább lehet kérdezni.
Ha azt írjuk le, hogy ez a megoldás és kész, abból nem tanul senki és továbbra sem fogja senki érteni, hogy miért kell neki a tömbökkel szívnia. De sajnos a suliban akkor is azt fogják számon kérni, nekünk meg ettől megáll az agyunk.
Természetesen konyhanyelven elmagyarázni valamit továbbra is nyitott vagyok én is, de nem általánosságban mert abból regény lenne.
-
MrSealRD
veterán
válasz
martonx #2776 üzenetére
Aki még kezdő, nyilván azt fogja megkérdezni mi a hiba. Válaszként meg le lehet írni azt is, hogy hogyan lehet megállapítani, meg azt is, hogy mi hiba.
Szerinted aki (a jelenlegi példánál maradva) nem használta a debuggolást az hirtelen tudni fogja ha azt mondod neki: "Debuggolj!" , hogy miről is van szó?! Mivel ez egy egyszerű fogalom és kulcs téma, (rövid) idővel rá kell jönnie az illetőnek, hogy mi is az és mire jó...DE Számtalanszor előfordul már, hogy nem értettem valaminek a működését, ezért hibába futottam. Majd amikor segítséget kértem akár több helyen is akkor általában a nagyobb tapasztalatú emberek valami ilyesmit mondtak: Fogod a &@#>&>#& ...aztán csináld meg #>&&>&>-ba és után használj #&>&#&.... Akkor most újra megkérdezem, ezt lehet segítségnek nevezni? Újabb idegen addig nem használt és ismeretlen módszerek emlegetése egy olyannak aki még éppen a szárnyait bontogatja???
Valahogy az ő még hiányos szintjén kell elmagyarázni mit csinált rosszul, és nem arrogánsan lehurrogni, mert segítségért fordult... -
ArchElf
addikt
válasz
Neil Watts #2778 üzenetére
A for ciklusba ne a tömb hosszáig iterálj, hanem csak a db-ig. Utána nincs semmi a tömbben, azért kapod a hibaüzenetet. Amúgy tényleg tilos List<string>-et használi (vagy sima List-et, ami még a .NET 1.0-ban is volt)???
AE
-
Peter Kiss
őstag
Nálunk most lesz nagy alkalmazástúrás, ami azt jelenti, hogy a kontrollok új verzióra lesznek cserélve, illetve most forgatjuk át a legtöbbet 4.0-ra, nálunk a 4.5 nem fog játszani, mert nincs rá szükség.
Egyébként nem feltétlenül rossz, csak annyi a gond, hogy sok kompatibilitási gond felléphet az újabb de nem verzióváltott DLL-ekkel. Szerintem mondjuk a legtöbb helyen nem lesz gond.
-
Sziasztok!
Debugoltam, s az megmutatta, hogy az if-es résszel van gondja.
A sima, feltöltött tömbből működős az megy, ez a kódja:
private void buttonKezdobetuBeListaz_Click(object sender, EventArgs e)
{
listBoxKezdobetuListazKi.Items.Clear();
string[] nevek = new string[] {"Ajkai Jolán","Báthori Zoltán", "Csángó Cecília", "Daru József"};
char kezdo = Convert.ToChar(textBoxKezdobetuBe.Text);
if (textBoxKezdobetuBe.Text != "")
{
for (int i = 0; i < nevek.Length; i++)
{
if (kezdo == nevek[i][0])
{
listBoxKezdobetuListazKi.Items.Add(nevek[i]);
}
}
}
}Ez, ha beírok egy kezdőbetűt, akkor arra kiadja az összes, olyan kezdőbetűs embert. Van egy tömböm, egy karakter változóm, ami egy textboxból olvas. Ha a textboxban van adat akkor végigszalad egy for-ral a tömbön. ha a karakter változóba vitt adat megegyezik a tömb első karakterével, akkor kiírja a feltételnek megfelelőeket egy listboxba.
Na most ezzel szemben itt van nekem a másik verzió, amikor kintről kell adatot bevinnem. Felvettem egy 50 elemet tartalmazni képes string tömböt ami még most üres, meg egy integer típusú db változót, amivel majd számoltatom, hogy hol is vagyok a tömbben, hanyadik elemnél.
Szóval a következő résznél megadom, hogyha van adat a textBoxNevBeVektor.Text-ben akkor a tömb db-edik eleme legyen mindíg egyenlő textBoxNevBeVektor.Text-tel. Ha le lett okézva, akkor meg menjen tovább a tömbben, s növelje meg az értékét! Tehát ez sem lehet nulla.
Megyek tovább: Ennek a kezdőbetűs részénél felvettem megint egy char változót, aminél megint átkonvertáltam a textBoxKezdoBetuBeVektor.Text-et. Miért is ne, hisz az előbb működött. Szóval ha van a textboxban adat akkor egy for ciklussal végigmegy a nevBe tömbön.
Itt megnézi a kezdovektor char változóm egyenlő-e nevBe db-edik elemének [0] -ik (azaz első) karakterével. ha igen, akkor kiírja a listboxba.
Kérdés: Ennek ellenére miért száll el NullReferenceException was unhandled hibával?
-
martonx
veterán
4.0 -> 4.5 számozásra gondolsz?
Nálunk (nagyvállalati környezet) az a szokás, hogy amikor beüzemelnek a hardveresek egy új szervert, ahhoz később már nem nyúlnak. Azaz, ha egy szerver win2003 + .Net 2.0-ával indult el, akkor az úgy is marad. Ha egy szerver win2008 + .Net 4.0-ával indult el az is úgy marad. Lényeg, hogy nem upgardelünk működő szervert.
Azaz mihelyst lesz új szerver .Net 4.5 után, nálunk az újabb és újabb szerverek már automatikusan azzal lesznek telepítve.
Úgyhogy nem hiszem, hogy gond lenne ezzel. Nagyvállalati környezetben amúgy is rohadt lassan terjed minden (sokan pl. most fognak átállni IE6-ról, sőt most kezd terjedni az Office 2007, extrém, de nagyvállalati környezetben még mindig windows XP az egyeduralkodó). -
martonx
veterán
Ez végtelenül szomorú. Másrészt, attól még hogy nem tanítanak, egy nem futó programnál nagyon nem mindegy, hogy azt kérdezed meg, hogy hol a hiba, vagy azt hogy hogyan lehet megállapítani, hogy hol a hiba.
Azt látom, hogy 10-ből 9-en azt kérdezik, hogy hol a hiba, és a tanácsaink leperegnek róluk. És ez is szomorú. Nem elég, hogy szarok a tanárok, de szarok a diákok is. Tisztelet persze a kivételeknek.
-
amargo
addikt
válasz
martonx #2771 üzenetére
Sajnos én is ezt tapasztalom - amit a többiek is írtak -, hogy nem vagy ritkán mutatják meg a debug lehetőségeit. Ez nem a diák hibája. Ellenben a lehetőségek hiánya is aggasztó, mert egyszerűen azt sem tudják, hogy ilyen létezik.
Mindig oda lyukadunk ki, hogy a fejlődéssel nehéz tartani a lépést.Ha már itt tartunk felteszek egy kérdést, ki, hogyan látja az új framework számozását, én kicsit aggasztónak találom ezt, akkor is ezt használd és kész. Félek sokan lefogják tiltani.. nagyvállalati környezetekre gondolok.
-
-
-
amargo
addikt
válasz
Neil Watts #2767 üzenetére
Az egész blokk érdekes, de most tekintsünk el, mert egy része így még működő képes lehet. De hozzáteszem, hemzseg az egész kód a hibáktól!
char KezdoVektor = Convert.ToChar(textBoxKezdoBetuBeVektor.Text);
if (textBoxKezdoBetuBeVektor.Text != "")
{
for (int i = 0; i < nevBe.Length; i++)
{
if (KezdoVektor == nevBe[db][0])
{
listBoxKezdobetuListazKi.Items.Add(nevBe[db]);
}
}
}
}Ellenben azért, amit ArchElf írt, azrt értelmezted is? Mert minek oda ciklus, ha mindig csak az aktuális db ellenőrződ? Semmi értelme 50x ugyanazt leellenőrizned. De a kutya is itt van elásva!
Nézd meg a felette lévő kódodat:
textBoxNevBeVektor.Clear();
if (textBoxNevBeVektor.Text != "")
{
nevBe[db] = textBoxNevBeVektor.Text;
db++;
}Tehát egyből törlöd a mező tartamát, majd nem adsz semmit semmihez.
Ezek után nézd meg az első általam írt kódodat:
nevBe.Length //Ez helyes, 50 elemű.
if (KezdoVektor == nevBe[db][0]) //Itt pedig 0. elemre hivatkozol, majd annak szeretnéd elkérni az első karakterét. De ez nem fog menni, mert az Null -> meg is kapod helyesen az üzeneted.Nem hiába írtam az elején és ne támadásnak vedd, de egyszerűen az egész kód hemzseg a hibáktól és hiányosságoktól. Ez tényleg csak figyelmetlenség, de mivel szemmel nem tudok olyan jól összehasonlítani - számomra a változónevek is feleslegesen hosszúak - így csak azon akadt meg a szemem, hogy ott minek akarsz törölni?
-
válasz
martonx #2768 üzenetére
Mert jelen alkalmazásnál mást nem fogadnak el, nem használhatok mást.
nullreferenceexception was unhandled -del száll el. Ez most azt jelentené hogy valamely vektorom üres? Na de a nevBe kap értéket.
private void buttonOKNevBeVektor_Click(object sender, EventArgs e)
{
textBoxNevBeVektor.Clear();
if (textBoxNevBeVektor.Text != "")
{
nevBe[db] = textBoxNevBeVektor.Text;
db++;
}
} -
martonx
veterán
válasz
Neil Watts #2767 üzenetére
Sima debuggal seperc alatt ki tudnád vizsgálni, hogy mi is a baj. Hagy ne mi debugoljunk már fejben helyetted. Másrészt, ha már tanácsért fordultál ide, miért sima array-el szivatod magad? Hahó 2012 van. Javaslom valami fejlettebb collection használatát, amellyel a sorbarendezés egy szimpla parancs.
-
válasz
ArchElf #2766 üzenetére
Itt van egy kép a programról: katt
Ha a listázás kezdőbetű szerint-re megyek, s ott nyomom a listáz gombot akkor egy előre meghatározott string vektorból húzza ki az első karakter egyezése esetén a megfelelő nevet - ez megy.
Viszont van a másik amikor saját vektort kell csinálni - ez is megy, csak a kezdőbetű ellenőrzés nem, de nem értem miért. Ugyanazon analógia szerint csinálom mint az előbb, s nem megy semmilyen módon.
Szóval ez ugyanazon textboxba írja ki a bevitt nevet. A többi gombnak nincs most szerepe.
De amúgy db, mert arra külön csináltam egy változót, hogy el tudjam rakni, hogy hol tartok...
Üdv. core2
-
ArchElf
addikt
válasz
Neil Watts #2765 üzenetére
if (KezdoVektor == nevBe[db][0])
helyett
if (KezdoVektor == nevBe[i][0])
nem?AE
-
Sziasztok!
Lehet, hogy már megint én vagyok a figyélmetélén ls/vagy hülye, de:
Van egy ilyen programom:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace nevek_FORM
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string[] nevBe = new string[50];
int db = 0;
private void buttonKezdobetuBeListaz_Click(object sender, EventArgs e)
{
listBoxKezdobetuListazKi.Items.Clear();
string[] nevek = new string[] {"Ajkai Jolán","Báthori Zoltán", "Csángó Cecília", "Daru József"};
char kezdo = Convert.ToChar(textBoxKezdobetuBe.Text);
if (textBoxKezdobetuBe.Text != "")
{
for (int i = 0; i < nevek.Length; i++)
{
if (kezdo == nevek[i][0])
{
listBoxKezdobetuListazKi.Items.Add(nevek[i]);
}
}
}
}
private void buttonOKNevBeVektor_Click(object sender, EventArgs e)
{
textBoxNevBeVektor.Clear();
if (textBoxNevBeVektor.Text != "")
{
nevBe[db] = textBoxNevBeVektor.Text;
db++;
}
}
private void buttonListazNevBeVektor_Click(object sender, EventArgs e)
{
char KezdoVektor = Convert.ToChar(textBoxKezdoBetuBeVektor.Text);
if (textBoxKezdoBetuBeVektor.Text != "")
{
for (int i = 0; i < nevBe.Length; i++)
{
if (KezdoVektor == nevBe[db][0])
{
listBoxKezdobetuListazKi.Items.Add(nevBe[db]);
}
}
}
}Viszont a kezdőbetű vizsgálós téma (buttonListazNevBeVektor_Click) valamiért nem oké. Pedig elviekben minden kap értéket. Üres vektor sincs
Már megint nagyon benéztem valamit?
Üdv. core2
-
ubid
senior tag
válasz
Peter Kiss #2763 üzenetére
Sajnos sehol sem találtam kérdéseket ehhez a vizsgához. csak magát a témaköröket.
Tudnál mutatni párat, hogy hol keressem ?
MTA Exam 98-372 - > ezt szeretném megcsinálni.
köszi !
-
ubid
senior tag
Sziasztok !
Valaki tisztába van a Microsoft MTA vizsgáival ?
Szeretnék tenni .Net alapokból egy vizsgát.
Aki rendelkezik ilyen minősítéssel, vagy egyáltalán valamilyen minősítéssel, az írjon már pár szót róla .
( annyit tudok, hogy felügyelt kamerás terembe van a vizsga, teszt jellegű ( ?), és angol nyelven. )
Honnan lehet rá felkészülni ? mintavizsgák elérhetők valahol ?
köszönöm a segítséget !
-
martonx
veterán
válasz
MrSealRD #2760 üzenetére
Mondom, ne átírd, húzz oda egy újat. Aztán hasonlítgathatod a kettőt, ha úgy tetszik.
Egy ideje már csak ASP.NET MVC-zek, így bocs, ha ennél nem tudom konkrétabban mondani.
Mondjuk ASP.NET MVC-ben is megcsinálhatnád, és semmivel nemtöbb munka (hacsak nem akarsz komoly kliensoldali interakciókat). -
MrSealRD
veterán
válasz
martonx #2759 üzenetére
.NET 4 van a target, de nem megy.
Most fent van egyszerre:
MySqlDatasource
MyEntityDatasourceDetailsView1-Itt módosítom a szavazás kérdését.
DetailsView2-Itt adok hozzá új választási opciót
GridView- Itt jelennek meg a az opciók. Szerkeszteni itt helyben lehet, vagy törölni.
Na most az a helyzet van, hogy ha View-knak a DataSource-a a fenti kóddal rendelkező SqlDatasource, akkor megy.
Ha ugyanezt átírom az EntityDatasource-ra, az már nem hajlandó normálisan kiszolgálni. Ezért érdekelne, hogyan nézne ki a fenti kód EntityDatasource esetében. -
MrSealRD
veterán
Üdv!
Van egy 3 táblás adatbázisom(Poll,PollAnswers,Userresponses)
A problémám az az oldal amin egy meglévő szavazás, választási opcióit tudom törölni, szerkeszteni, és újat megadni.
SQLDataSource-al megy a dolog annak ez a kódja:
<asp:SqlDataSource ID="PollAnswersDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:PollConnectionString %>"
DeleteCommand="DELETE FROM [PollAnswers] WHERE [PollAnswerID] = @PollAnswerID"
InsertCommand="INSERT INTO [PollAnswers] ([PollID], [DisplayText], [SortOrder]) VALUES (@PollID, @DisplayText, @SortOrder)"
SelectCommand="SELECT * FROM [PollAnswers] WHERE ([PollID] = @PollID) ORDER BY [SortOrder]"
UpdateCommand="UPDATE [PollAnswers] SET [DisplayText] = @DisplayText, [SortOrder] = @SortOrder WHERE [PollAnswerID] = @PollAnswerID">
<DeleteParameters>
<asp:Parameter Name="PollAnswerID" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="DisplayText" Type="String" />
<asp:Parameter Name="SortOrder" Type="Int32" />
<asp:Parameter Name="PollAnswerID" Type="Int32" />
</UpdateParameters>
<SelectParameters>
<asp:QueryStringParameter Name="PollID" QueryStringField="pid" Type="Int32" />
</SelectParameters>
<InsertParameters>
<asp:QueryStringParameter Name="PollID" QueryStringField="pid" Type="Int32" />
<asp:Parameter Name="DisplayText" Type="String" />
<asp:Parameter Name="SortOrder" Type="Int32" />
</InsertParameters>
</asp:SqlDataSource>Viszont szeretném ugyanezt az eredményt elérni csak EntityDataSource-al. Pórbálkoztam vele de nem ment. Hogy tudnám ezt megcsinálni?
Előre is kösz.
-
-
martonx
veterán
A többit illetően is igazam van, más kérdés, hogy azok kevésbé objektív, kevésbé mérhető előnyök - hátrányok. Illetve személyfüggő (kockaság faktor), hogy ki mit szeret / mit nem szeret látni.
Emberünk kérdezett, mi meg válaszoltunk. Ettől kezdve szíve joga guid-t, vagy int-et használni. Én senkit nem akarok lebeszélni, rábeszélni, se hitvitát nem akarok ilyen részletkérdésben folytatni. -
Kedves Topiklakók!
Elfelejtettem írni, de problem solved (aludtam rá egyet) :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace _1_vektor_gyak
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void buttonEgeszKi_Click(object sender, EventArgs e)
{
int[] EgeszTomb = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };
for (int i = 0; i < EgeszTomb.Length; i++)
{
listBoxKiiras.Items.Add(EgeszTomb[i]);
}
}
private void buttonValosKi_Click(object sender, EventArgs e)
{
double[] ValosTomb = new double[] { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8 };
for (int i = 0; i < ValosTomb.Length; i++)
{
listBoxKiiras.Items.Add(ValosTomb[i]);
}
}
private void buttonKarakterKi_Click(object sender, EventArgs e)
{
char[] KarakterTomb = new char[] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' };
for (int i = 0; i < KarakterTomb.Length; i++)
{
listBoxKiiras.Items.Add(KarakterTomb[i]);
}
}
private void buttonSzovegKi_Click(object sender, EventArgs e)
{
string[] SzovegTomb = new string[] { "egy", "kettő", "három", "négy", "öt", "hat", "hét", "nyolc" };
for (int i = 0; i < SzovegTomb.Length; i++)
{
listBoxKiiras.Items.Add(SzovegTomb[i]);
}
}
private void buttonTorol_Click(object sender, EventArgs e)
{
listBoxKiiras.Items.Clear();
textBoxBevitel.Clear();
}
private void buttonEgeszBe_Click(object sender, EventArgs e)
{
if (textBoxBevitel.Text != "")
{
int ElemSzam = Convert.ToInt32(textBoxBevitel.Text);
Random r = new Random();
int[] EgeszTomb = new int[ElemSzam];
for (int i = 0; i < EgeszTomb.Length; i++)
{
int vel = r.Next(0, 999);
EgeszTomb[i] = vel;
listBoxKiiras.Items.Add(EgeszTomb[i]);
}
}
}
private void buttonValosBe_Click(object sender, EventArgs e)
{
if (textBoxBevitel.Text != "")
{
int ElemSzam = Convert.ToInt32(textBoxBevitel.Text);
Random r = new Random();
double[] ValosTomb = new double[ElemSzam];
int also = 10;
int felso = 50;
for (int i = 0; i < ValosTomb.Length; i++)
{
double vel = also + (felso - also) * r.NextDouble();
ValosTomb[i] = vel;
listBoxKiiras.Items.Add(ValosTomb[i]);
}
}
}
private void buttonKarakterBe_Click(object sender, EventArgs e)
{
if (textBoxBevitel.Text != "")
{
int ElemSzam = Convert.ToInt32(textBoxBevitel.Text);
Random r = new Random();
char[] KarakterTomb = new char[ElemSzam];
for (int i = 0; i < KarakterTomb.Length; i++)
{
int vel = r.Next(0,256);
KarakterTomb[i] = Convert.ToChar(vel);
listBoxKiiras.Items.Add(KarakterTomb[i]);
}
}
}
}
}Működik
-
martonx
veterán
használom én is a guid-ot, de csak módjával
Pont debugoláskor, komolyabb SQL tárolt eljárásoknál jól jön látni, hogy ténylegesen melyik sort sikerült megtalálni. Ilyenkor egy szám jóval többet mond ránézésre, mint egy guid.
Pont netes projekteknél használom, de ott is csak bizonyos esetekben. Mert valóban jobban jön ki, ha kívülállónak semmit se mondó adatokat utaztatok, mint ha számokat.
Egyébként még annyit tennék hozzá a guid-hoz, hogy nagyobb adattömegnél performancia gondokat okoz. Legalábbis az SQL szerver könnyebben indexel, gyorsabban kezel keresésnél egy számot, mint egy jó hosszú kódsort. De ez pár millió adatsor alatt észrevehetetlen. Felette viszont hirtelen zavaró tud lenni.
-
válasz
martonx #2751 üzenetére
Miért érdekelne engem, hogy 18223 alatt vagy épp egy GuId alatt van az x. elem? Nekem nem fáj egyik sem, mert nem akarom beégetni kódba, de pl. pont egy netes projektben szebb, ha nem úgy megy a kérés, hogy userId=1.
Egyáltalán nem kell vele szopni, ezt nem is értem.
Egy autoincrement intet nehezebb is mozgatni. Ha mozgatni kell vagy esetleg Oracle alá bevinni, takarítani vagy csak mondjuk a teszt adatokat kivenni, akkor lehet gondolkodni, míg egy guid az guid. Fogod és viszed, törlöd, nem lesz semmi baja. Ráadásul sokkal szebb megoldás, nem pedig "beteg kód".
Ha ORM-et használ valaki, akkor meg végképp mindegy (vagyis előnyösebb a guid).
azért az utolsó sorral elvetted a hsz-ed élét erősen.
-
martonx
veterán
válasz
MrSealRD #2750 üzenetére
SZVSZ semmi érzékelhető értelme nincs Guid-t használni. Illetve az int el fogy pár milliárd után, de mondjuk ez sem túl gyakori eset.
Aki szereti magát olvashatatlan guid-vel szopatni, meg tök jó kockaság (mert pl. nem azt mondod, hogy a 18223-as sor, hanem abcgrhk5ndsw8xcdsh-dik sor) beteg kódokkal azonosítani a sorokat, annak tökéletes a guid.
Másrészt vannak esetek amikor nagyon jól tud jönni a guid használata. -
-
válasz
MrSealRD #2748 üzenetére
Ja, értem. Adatbázist nem érdemes bővíteni - legalábbis gondolom, nem akarsz sémákkal játszani.
Talán megfelelően egyszerű, ha létrehozol egy táblát, amiben a szavazások vannak (Id, név) és egy másikat, amiben pedig a kérdésekre adható válaszok (Id, szavazás Id, válasz). Így annyi választ tehetsz egy kérdéshez, amennyi csak kell. (Persze máshogy is megoldható)
Javaslom, hogy az id az Guid legyen, az intet nem szeretjük a való életben, csak a sulikban erőltetik.
-
MrSealRD
veterán
Na, ez kimaradt. Elvileg ASP.NET 2-ig elég lenne. (ugye szintaxis is aspx, nem razor...)(Próbálok a mentén haladni amit a tantárgy kerete ad)
MVC most nem kell.A felhasználó kezelést sikerült használni. Remek, és valóban elég is.
A szavazás tetszőleges, tehát Pl.
Add meg a szavazás kérdését: Milyen napod volt ma?
Ezután(vagy egy időben) Adj hozzá válaszlehetőségeket:
1.jó
2.rossz
...
x. nemtom
(Ennek a pontos módszerét még nem tudom...De úgy néz ki egy sima szövegmező gomb páros a hozzáadásra és lent egy grid view mutatja a hozzáadottakat.)Most az jelenti a gondot, hogy a megfelelő módon bővítsem az adatbázist. Össze kell kötnöm a user-en keresztül az én szavazásos tábláimmal.
-
válasz
MrSealRD #2746 üzenetére
Milyen ASP.NET? 2, 3, 4? MVC?
A felhasználókezelésre az ASP-ben van megoldás, azt nem muszáj megírni. Erre még elég.
Ha ilyen igen-nem szavazás, akkor adatbázisra meg egy tábla az aktuális szavazásról, amiben a felhasználó Id-ja és a szavazat áll. Egy bool? típus a kódban. Ha null, még nem szavazott, ha meg igen, akkor az érték. Más szerintem nem is kell. A felületen a legegyszerűbb százalékot mutatni.
Ha több opció van, akkor meg egy olyan entitás, amiben minden opció benne van és rádiógomb, ahogy a fórumokon szokott lenni.
-
MrSealRD
veterán
Üdv!
A segítségeteket szeretném kérni.
ASP.NET-ben(Entity Framwork használata) kéne egy oldalt összerakni. Nincs más célja az oldalnak, mint a bejelentkezett felhasználók számára lehetővé teszi, hogy szavazásokat indítsanak illetve szavazzanak. A szavazások opció tetszőleges számúak lehetnek.
Egy adott szavazásnál, egy tetszőlegesen megadott idő intervallumban leadott szavazatokat is meg lehet nézni.Nem kész kódokat várok, hanem:
Koncepciókat - Adatbázisra, felhasználókezelésre...stb
Linkeket vagy személéltető kódokat...Amúgy:
Sulis feladat, és nagyon belekavarodtam, ezért kérnék segítséget.Előre is kösz.
-
Peter Kiss
őstag
válasz
Neil Watts #2744 üzenetére
Nem az értéke lesz egesz_be, hanem a hossza, nagy különbség.
int egesz_be;
if (int.TryParse(textBox1_adatbe.Text, out egesz_be))
{
var r = new Random();
for (int i = 0; i < egesz_be; i++)
{
listBox_adat.Items.Add((char)r.next(65, 90));
}
}
else
{
//hibakezelés :-)
} -
válasz
Peter Kiss #2742 üzenetére
ööö...
Létrehozok egy char[]-t, aminek az értéke lesz az egesz_be.
Tehát ha mondjuk azt mondom, hogy 10 elemet kérek, akkor az egesz_be = lesz 10-zel, tehát akkor ha azt írnám, hogychar[] karakter = new char[egesz_be];
vagy
char[] karakter = new char[10];
az tök mindegy, mivel a kettő egy és ugyanaz, nem?
Szóval most wtf. Rosszul töltöm fel a chart, most már arra is rájöttem, de most akkor hogy töltsem fel?
-
válasz
Peter Kiss #2741 üzenetére
Valóban, bár nem olyan vészes. Én inkább tömöríteni szoktam, ha nem olyan műveletről van szó, ami sok erőforrást köt le. Optimálisabb a TryParse kint.
"TextBox - tb --> tbSomething"
Igen, csak akkor ismerni kell az alkalmazott szabályrendszert. Nem szeretem a hungarian notation-t.
-
Peter Kiss
őstag
válasz
Neil Watts #2740 üzenetére
Létrehozol egy ÜRES char[]-t.
Amit bejársz a ciklusoddal.
Elemet akarsz kivenni belőle, pedig ÜRES.
Ráadásul kivételnél fix indexet használsz, ami nem más, mint a tömb hossza, ami pontosan eggyel magasabb indexet jelent, mint a tömb utolsó elemének indexe. -
Ez a kód hibás, mert túlindexelem a tömböt, még dolgozok rajta
A kód
if (textBox1_adatbe.Text != "")
{
int egesz_be = Convert.ToInt32(textBox1_adatbe.Text);
Random r = new Random();
char[] karakter = new char[egesz_be];
for (int i = 0; i < karakter.Length; i++)
{
char kiir = karakter[egesz_be];
listBox_adat.Items.Add(kiir);
} -
válasz
Neil Watts #2738 üzenetére
Ja, értem, akkor a feladat hülyesége. Ok. szóval a karakterekkel végül is mi a gond?
-
-
válasz
Peter Kiss #2736 üzenetére
Szerintem jó helyen van. Előbb úgysem használom, ott meg úgyis elszáll, ha karaktert kap.
De természetesen érdekel a véleményed, nincs kőbe vésve.
-
válasz
Neil Watts #2734 üzenetére
A randomot még értem, de miért akarod a 10-et karakterként bevinni?
Az egészeknél feleslegesen megírtál egy műveletet fonákul, ami egyébként teljesen egyértelmű
"int[] egesz = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };
for (int i = 0; i < egesz.Length; i++)
{
listBox_adat.Items.Add(egesz(i));
}"helyett
for (int i = 1; i < 9; i++)
{
listBox_adat.Items.Add(i);
}bár a te számításodból a 9 továbbra is kimarad. Miért?
Amit feljebb linkeltem kód, pont azt csinálja, hogy randomol annyi számot, amennyit a taxtBoxba írtál. Ugyanez átültethető karakterre is.
-
gyáá...
Szóval a program működése:
Van két groupboxom (Bevitel és kiír).
Bevitelben egy elemszám feliratú label, mellette egy textbox.alatta 3 gomb, rendre:
Egészek, Valósak, Karakterek
Mindegyik gomb randomol egyet attól függően, hogy mekkora az elemszám, annyit írat ki a listboxba.A kíír résznél van öt gomb:
Egészek, Valósak, Karakterek, Szövegek, Töröl
Ezek simán mennek, csak a másik nem. A kiír is működik, csak szerintem nem tömbből, de működik, csak ott a karakteres nem.
MOD: - "int[] egesz = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };" - ez felesleges, az egész számokat a rendszer ismeri és a 10 az nem két karakter, hanem egy szám. hol a 9?
Az előre meghatározott intervallumból dolgozik, azokkal töltöttem fel a tömböt!
Üdv. core2
-
válasz
Peter Kiss #2731 üzenetére
Az if szerintem nem a legjobb TryParse mellé. így nincs hibakezelés.
Egy lehetséges refaktorálás: linkKérdés, hogy kell-e üríteni a listát minden gombnyomáskor. Illetve én a randomnak egy saját metódust csinálnék, úgy még szebb.
core2:
Nem igazán értem ezt a karakteres dolgot. Mit kellene ott csinálni? De amúgy a program célját se értem. Mi a feladat?Másfelől 1-2 tanács:
- alulvonás helyett inkább egybe írd a neveket és CamelCasing-et használj.
- olyan nevet ne használj, hogy "textBox1_adatbe". Ha a kontrol nevét is bele akarod írni, akkor inkább inputText vagy bevitelTextBox vagy ilyenek.
- "namespace _1_vektor" - n ilyet biztosan ne használj. Nagyon csúnya. a Namespace legyen konkrét és globális - valami jól eltalált név.
- "int[] egesz = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };" - ez felesleges, az egész számokat a rendszer ismeri és a 10 az nem két karakter, hanem egy szám. hol a 9?
- ha már nagyon a tömbök felé mész, akkor az a sok tömb kipakolható a metódusból egy-egy field-be is:
private int[] _egesz = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };, de kár vesződni vele, mert ez úgy, ahogy van felesleges. Van egy mindig 9 elemű tömböd és annak veszed a hosszát... -
válasz
Peter Kiss #2731 üzenetére
Az ok, ez így működik is, csak éppen a tömbös problémát kerüli meg...
Nekem a tömb nem kell másra, minthogy van egy textboxom (egyik kommentemben benne van a kép) abba beleírók egy X elemszámot (pl. 10) és kiírja a listboxba az X elemszámnyi véletlenszámot/karaktert.
Ez ezzel a kóddal működik is / tömb nélkül nem.
Karakterre sajnos nem megy.Üdv. core2
-
Peter Kiss
őstag
válasz
Neil Watts #2730 üzenetére
Az egesz tömböt csak a hosszának a lekérésére használod, semmi másra, ezért hülyeség létrehozni is.
-
válasz
Peter Kiss #2723 üzenetére
"Ez gyakorlatilag nincs használva:
int[] egesz = new int[egesz_be];"
De van: [link]
Az elgondolásom remélem jó...
-
Jester01
veterán
válasz
Peter Kiss #2727 üzenetére
Ezt a new sorrendet nem lehet megvalósítani
Értelemszerűen nem arra mondtam, hogy mindig, hanem abban az esetben ha véletlen egyezik a változó típusa a példányosítani kívánt osztállyal.
Ja ha szerinted az interface-k felesleges dolgok, akkor nem szóltam.
-
Peter Kiss
őstag
válasz
Jester01 #2726 üzenetére
Ezt a new sorrendet nem lehet megvalósítani.
Csak egy gyenge példa rá:
IEnumerable<int> t = new[] { 12, 34};
Interface-t példányosítanék?IDictionary-t se írnám ki, hótzicher, mert minek. System.Collections.Generic.Dictionary implementálja az IDictionary-t, és még sok minden mást! Ha kiírom az IDictionary-t, akkor a többit (implementált interface-ek) ezzel el is veszítem.
Tahát, egy változtatás miatt lesz mondjuk int-ből double, de van rá overload-olt metódusom (ugyanaz a metódusnév), ami annyit tesz, hogy problem solved.
-
Jester01
veterán
válasz
Peter Kiss #2725 üzenetére
A new esetén szerintem a microsoft rosszul találta ki. A változónak mindig kellene típust adni, ha gépelési könnyítést akarsz, akkor inkább a new után lehessen elhagyni. Pl. én ilyet engednék: Foo foo = new(arg1, arg2); Ha meg interface-t használsz (ami viszont tényleg ajánlott) akkor meg amúgy is ki kell írni: IDictionary<Foo, Bar> baz = new Dictionary<Foo, Bar>();
A változóknak mindig legyen pontos típusa. Ha utálsz gépelni, akkor használj IDE-t ami megteszi helyetted. A "később bekavarhat" részt úgy értettem, ha később módosítod a kódot a var lehet, hogy már más típust fog jelenteni, amitől rejtett módon megváltozhat a program (pl. más overload hívódik később egy metódusnál).
-
Peter Kiss
őstag
válasz
Jester01 #2724 üzenetére
Pont, hogy nem kavarhat be. Amikor teljesen egyértelmű az, hogy mi lesz a típus (pl. new Akarmi()), akkor miért írnám ki kétszer? Teljesen hülyeség.
Dictionary<NagyonHosszuNevuOsztalyDeKiirom, MegHosszabbNevuDeEztIsKiiromAkkorIs> d = new Dictionary<NagyonHosszuNevuOsztalyDeKiirom, MegHosszabbNevuDeEztIsKiiromAkkorIs>();
-
Jester01
veterán
válasz
Peter Kiss #2723 üzenetére
Használja mindenki a var kulcsszót, ahol csak lehet.
Ez szerintem rossz tanács. A var csak azt jelzi, hogy a programozónak fogalma sincs az adott kifejezés típusáról és/vagy "gépelésre optimalizál". Továbbá későbbi módosításoknál is bekavarhat.
-
Peter Kiss
őstag
válasz
Neil Watts #2719 üzenetére
Kicsi észrevétel:
int[] egesz = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };
for (int i = 0; i < egesz.Length; i++)
{
listBox_adat.Items.Add(egesz[i]);
}Helyett:
listBox_adat.Items.AddRange(new object[] { 1, 2, 3, 4, 5, 6, 7, 8 });
Stringekkel egyszerűbb:
listBox_adat.Items.AddRange(new [] { "egy", "kettő", "három", "négy", "öt", "hat", "hét", "nyolc" });
);---------------------------
if (textBox1_adatbe.Text != "")
{ /* ... */ }Helyett:
int egesz_be;
if (!string.IsNullOrEmpty(textBox1_adatbe.Text) && int.TryParse(textBox1_adatbe.Text, out egesz_be))
{ /* ... */ }-----------------------
Ez gyakorlatilag nincs használva:
int[] egesz = new int[egesz_be];
----------------------
Használja mindenki a var kulcsszót, ahol csak lehet.
-
Jhonny06
veterán
válasz
Neil Watts #2721 üzenetére
ASCII kódtáblát ajánlom figyelmedbe, char típusú változóval lehet trükközni, mondjuk számként reprezentálni egy betűt.
Pl.: char c = (char) 100;
Ugyanúgy használhatod a Next függvényt az intervallum megadására, csak konvertálni kell a típusok között.
-
-
martonx
veterán
válasz
Neil Watts #2719 üzenetére
Azt csinálja, amit kell? Mert akkor biztos nem volt helytelen az elgondolásod
-
Nakérem, haladtam a programmal:
Itt a teljes kód (már csak a karakterest kell megoldanom):
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace _1_vektor
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button_egesz_ki_Click(object sender, EventArgs e)
{
int[] egesz = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };
for (int i = 0; i < egesz.Length; i++)
{
listBox_adat.Items.Add(egesz[i]);
}
}
private void button_valos_ki_Click(object sender, EventArgs e)
{
double[] valos = new double[] { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8 };
for (int i = 0; i < valos.Length; i++)
{
listBox_adat.Items.Add(valos[i]);
}
}
private void button_karakter_ki_Click(object sender, EventArgs e)
{
char[] karakter = new char[] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' };
for (int i = 0; i < karakter.Length; i++)
{
listBox_adat.Items.Add(karakter[i]);
}
}
private void button_szovegek_ki_Click(object sender, EventArgs e)
{
string[] szoveg = new string[] { "egy", "kettő", "három", "négy", "öt", "hat", "hét", "nyolc" };
for (int i = 0; i < szoveg.Length; i++)
{
listBox_adat.Items.Add(szoveg[i]);
}
}
private void button_del_Click(object sender, EventArgs e)
{
listBox_adat.Items.Clear();
}
private void button_egesz_be_Click(object sender, EventArgs e)
{
if (textBox1_adatbe.Text != "")
{
int egesz_be = Convert.ToInt32(textBox1_adatbe.Text);
Random r = new Random();
int[] egesz = new int[egesz_be];
for (int i = 0; i < egesz.Length; i++)
{
egesz_be = r.Next(10, 100);
listBox_adat.Items.Add(egesz_be);
}
}
}
private void button_valos_be_Click(object sender, EventArgs e)
{
if (textBox1_adatbe.Text != "")
{
int egesz_be = Convert.ToInt32(textBox1_adatbe.Text);
int also = 10,
felso = 50;
Random r = new Random();
double[] valos = new double[egesz_be];
for (int i = 0; i < valos.Length; i++)
{
double valos_ki = also + (felso - also) * r.NextDouble();
listBox_adat.Items.Add(valos_ki);
}
}
}
private void button_karakter_be_Click(object sender, EventArgs e)
{
}
}
}Szóval: A gombokat megnyomva a létrehozott vektorokból (vagy külső adat alapján - elemszám) kinyeri az adatot, és kiírja.
Arra lennék kíváncsi, hogy az elgondolásom helyes-e?
MOD: Uhh, legközelebb pastebinre megy
Üdv. core2
-
-
válasz
Neil Watts #2716 üzenetére
"also + (also - felso)"
Nem fordítva akartad a kivonást?
-
Sziasztok!
Lesz most szerintem egy nagyon noob kérdésem:
Hogy tudok C#-ban intervallumból valós véletlen számot generálni?
int also = 10;
int felso = 50;
Random r = new Random();
double kiir = also + (also - felso) * r.NextDouble();
listBox1.Items.Add(kiir);Itt valamit nagyon elneztem szerintem, mert atmegy negativba is.
Koszi a segitseget!
MOD: ó, megvan!
Udv. core2
-
ArchElf
addikt
válasz
kingabo #2710 üzenetére
Kerülő megoldásnak ott van a statikus osztály (nem kell inicializálni) és az extension methods (statikus osztályokban levő metódusok hozzáadhatók már meglevő osztályokhoz).
AE
-
Metódust csak osztályon belül lehet deklarálni, jól mondjátok.
-
ArchElf
addikt
válasz
WonderCSabo #2706 üzenetére
Mármint úgy értettem (mármint azon csodálkoztam), hogy lehet c#-ban osztályon kívüli függvényt csinálni?
AE
-
kingabo
őstag
válasz
Dr. Student #2700 üzenetére
Metódust nem tudsz osztályon kívül írni.
Attól függ, hogy mire akarod használni kell eldöntened, hogy hova teszed.
-
fatal`
titán
válasz
Dr. Student #2700 üzenetére
Nem, ez elméletben mindenre. Ha osztályon belül írsz egy másik osztályt arra is igaz ez. Metódust osztályon kívülre nem is lehet írni szerintem (illetve structba lehet, de az csak annyiban tér el az osztálytól, hogy alapból minden public), bár ilyet még nem próbáltam.
Ú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!
- 129 - Lenovo Legion Pro 7 (16ARX8H) - AMD Ryzen 9 7945HX, RTX 4080
- Hp USB-C/Thunderbolt 3 dokkolók: USB-C Universal, G2, G4, G5, Hp Elite/Zbook- Thunderbolt 4 G4
- ASUS TUF Gaming F16 FX607JV-QT212 Notebook
- BESZÁMÍTÁS! Dell Precision 5820 XL Tower PC - Xeon W-2123 112GB RAM 512GB SSD 1TB RX 580 8GB Win 11
- Honor 9X Lite 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged