- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Home server / házi szerver építése
- E-book olvasók
- Házimozi belépő szinten
- Sony MILC fényképezőgépcsalád
- HiFi műszaki szemmel - sztereó hangrendszerek
- Milyen billentyűzetet vegyek?
- Milyen videókártyát?
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Fejhallgató erősítő és DAC topik
Új hozzászólás Aktív témák
-
Boolash
aktív tag
válasz
martonx #2499 üzenetére
IList-et használok:
static IList<ADList> ls = new List<ADList>();
A hozzá tartozó class elé kirakom:
[Serializable]
Majd:
Session["cegem"] = ls;
...
ls = (IList<ADList>)Session["cegem"];Viszont ugyanaz a hibaüzenet. Mintha úgy olvastam volna, hogy a .Net megcsinálja a szerializálást ebben az esetben, elég kirakni az osztály elé [Serializable] jelzőt.
-
Boolash
aktív tag
válasz
ArchElf #2495 üzenetére
Nem, jelenleg így néz ki:
namespace FileInfo
{
class ADList
{
public string CmpName { get; set; }
public string CmpCode { get; set; }
public int? ID { get; set; }
}
}Ha jól értem arra gondolsz, hogy generáljak belőle egy szöveget (stream), majd így rakjam a session-be, majd de-szerializálás.
Ez elvileg csak annyi lenne, hogy örökölni kell ISerializable osztályból? (: ISerializable) -
Boolash
aktív tag
válasz
Boolash #2493 üzenetére
Sikerült, viszont generikus listát nem tudok kiolvasni..
Létrehoztam egy ADList osztályt, melyet lista típusnak használok:
static List<ADList> ls = new List<ADList>();
Majd ezt a listát mentem el sessionbe:
Session["cegem"] = ls;Idáig minden rendben. Majd kiolvasásnál:
ls= (List<ADList>)Session["cegem"]Erre viszont: Object reference not set to an instance of...
Valószínüleg a casting-al van baja.
próbáltam, hogy létrehozok egy új listát, majd abba teszem bele, de azt sem engedte.
Mi lehet a trükk?Köszi
-
válasz
Boolash #2484 üzenetére
Közben kifutottam az időből
Session szerintem is a legszebb, de mivel intranet, nyugodtan megtehető, hogy amikor kell, akkor behívsz AD-be, ez nem okozhat gondot.
Csinálsz rá egy szép entitást (akár modellt, ha MVC) és abban letárolsz mindent. Amíg a session nyitva van, addig úgyis életben van - ha csak olvasod, érdemes singleton-t csinálni belőle.
-
Karma
félisten
válasz
eziskamu #2479 üzenetére
Ez szerintem érdekes lehet.
Sajnos a Visual Studionak csak a fizetős változataival lehet a .NET Compact Frameworkkel fejleszteni, az Express nem elég hozzá az addintámogatás hiánya miatt. Valamint ahogy te is tapasztaltad, az asztali .NET nem fut mobileszközökön
Amúgy a VS fejlettebb verzióinak is van trialja.
-
Boolash
aktív tag
Sziasztok!
Jelenleg egy webalkalmásban minden oldalon a page load eseményben futtatok egy LDAP lekérdezést. Ebből nyerek ki biztonsági információkat, ami az aktuálisan bejelentkezett felhasználóhoz köthető.
Hogy lehetne megcsinálni, hogy bejelentkezés után lékérem ezeket az információkat, valahol letárolom, majd onnan olvasom midig ki. DB-ben tárolás jut csak eszembe, de ezt kicsit erősnek tartom.
A konkrét probléma egyébként egy SharePoint-os környezet, ahol webpartokat fejlesztek.
Köszi a tippeket! -
Lacces
őstag
Nos, köszönöm, a helpet, igyekeztem megírni a stuki alapján a kódot.
Valami nem stimmel az algoritmussal, (hosszabb bemeneti sztringeknél vettem észre)
Mert ezt kellene kapnom:
5 1 2 + 4 * + 3 -
De helyeztte ez jön ki...
5 1 2 + 4 * 3 - +using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace LengyelForma
{
class LengyelForma
{
static void Main(string[] args)
{
String str = "5 + ((1 + 2) * 4) - 3";
String result=LengyelFormaKonvertalas(str);
Console.WriteLine(result.ToString());
Console.ReadLine();
}
static String LengyelFormaKonvertalas(String input)
{
Stack stack = new Stack();
String str = input.Replace(" ",string.Empty);
StringBuilder formula = new StringBuilder();
for (int i = 0; i < str.Length; i++)
{
char x=str[i];
if (x == '(')
{
stack.Push(x);
}
else if (IsOperandus(x))
{
formula.Append(x);
}
else if (IsOperator(x))
{
while (stack.Count > 0 && (char)stack.Peek() != '(' && Prior(x) >= Prior((char)stack.Peek()))
{
char y = (char)stack.Pop();
formula.Append(y);
}
while (stack.Count > 0 && (char)stack.Peek() != '(' && Prior(x) > Prior((char)stack.Peek()))
{
char y = (char)stack.Pop();
formula.Append(y);
}
stack.Push(x);
}
else
{
char y = (char)stack.Pop();
if (y != '(')
{
formula.Append(y);
}
}
}
while (stack.Count>0)
{
char c = (char)stack.Pop();
if(c!='(')
formula.Append(c);
}
return formula.ToString();
}
static bool IsOperator(char c)
{
return (c=='-'|| c=='+' || c=='*' || c=='/');
}
static bool IsOperandus(char c)
{
return (c>='0' && c<='9' || c=='.');
}
static int Prior(char c)
{
switch (c)
{
case '=':
return 1;
case '+':
return 2;
case '-':
return 2;
case '*':
return 3;
case '/':
return 3;
case '^':
return 4;
default:
throw new ArgumentException("Rossz paraméter");
}
}
}
} -
eziskamu
addikt
Üdv! Írnom kellene egy egyszerűbb ablakos program Windows CE 5.0 alá. Kellene hozzá valami ingyenes (vagy legalább pár hónapig ingyenes) fejlesztőeszköz GUI builderrel. VS Expressel fordított progik nem futnak, a System.Windows.Forms-ra utaló hibával, csak a karakteres módú programok indulnak el.
-
Lacces
őstag
Hogyan kell kivenni a whitespaceket egy Stringből?
Probáltam még a String str = input.Split(' '); -t is használni, de akkor a char x=str[i]; -nél kerültem bajba, a fordító mindig kijelenti, hogy expliciten sem lehet string-et char-á konvertálni.
Trim()-et is bevetettem, de az sem segített rajtamString str = "5 + ( ( 1 + 2 ) * 4 ) −3"; Ennél egy StackEmpty hibát dob ki,
de ha a string-ben nincsenek whitespacek, akkor nem dobja ki a hibátstatic String LengyelFormaKonvertalas(String input)
{
Stack stack = new Stack();
String str = input.Trim();
StringBuilder formula = new StringBuilder();
for (int i = 0; i < str.Length; i++)
{
char x=str[i];
if (x == '(')
stack.Push(x);
else if (IsOperandus(x))
{
formula.Append(x);
}
else if (IsOperator(x))
{
if (stack.Count>0 && (char)stack.Peek()!='(' && Prior(x)<=Prior((char)stack.Peek()) )
{
char y = (char)stack.Pop();
formula.Append(y);
}
if (stack.Count > 0 && (char)stack.Peek() != '(' && Prior(x) < Prior((char)stack.Peek()))
{
char y = (char)stack.Pop();
formula.Append(y);
}
stack.Push(x);
}
else
{
char y=(char)stack.Pop();
if (y!='(')
{
formula.Append(y);
}
}
}
while (stack.Count>0)
{
char c = (char)stack.Pop();
formula.Append(c);
}
return formula.ToString();
} -
fatal`
titán
válasz
WonderCSabo #2475 üzenetére
Jogos, elírtam, de szerintem értette, úgyis az algoritmus volt a lényeg
-
Lacces
őstag
Már lejárt a szerkesztési időlimit... bool metódusra vonatkozó return true/false kérdés felejtős, elfogadta csak a true visszatérési értékre is
Amúgy a Console Ablaknál, hogyan lehet beállítani, hogy fent maradjon az ablak (ne tűnjön el) és ne egy Console.ReadLine()-al állítsam meg?
-
Lacces
őstag
Ehhez mit szólsz? (nekem tetszik :-D)
public bool AddFirst(int val){
Node current = new Node(val);
current.Next = Head;
Head = current;
Size++;
return (Head == current);}public bool AddLast(int val){
if (Head == null)
{
Head = new Node(val);
Size++;
return true;
}
else
{
Node current = Head;
while (current.Next != null)
{
current = current.Next;
}
current.Next = new Node(val);
Size++;
return true;
}
}Kérdés: Mikor és milyen esetben követeli meg a bool függvény, hogy a megadjam neki mindkettő visszatérési típust: return true, és return false, és mikor elégszik meg csak az egyikkel?
AddLast esetében megelégszik, hogy 2 db return true van, de AddFirst-nél nekem nagyon jött a fordító, hogy legyen egy return true és return false is. -
Lacces
őstag
válasz
Jester01 #2470 üzenetére
a return az tényleg igaz, ott az else ágat kivettem. Amúgy melyik a jobb megoldás?
Ha return false vagy return true-t használok, vagy egy bool értéket, és azt adom át a return-nek? pl: bool result = flase; return result;RemoveAll-nál igaz, az elején még nekem while ciklus volt, ott lehet a beadandó miatt átnéztem :-D, Így while szépen veszi ki
While esetében melyikre gondoltál? Amelyik kommentelve van, vagy amelyik használatban?
-
Jester01
veterán
A while ciklusos megoldásod rossz (persze ezt te is tudtad
)
Ugye csak egyetlen új linket kell hozzáadni, az utolsó elemnél. Ehhez képest te a ciklusmagban piszkálod a linkeket. Ez nem lehet jó.return után egyébként nem kell már az else, ezzel általában sokat lehet javítani az átláthatóságon.
A RemoveAll pedig ránézésre nem működik jól ha a lista elejéről több mint egy elem törlendő.
-
Gülredy
tag
Na és a TryParse-t hogy használjam jelen esetbe mert ha csak átírom a Parse-t TryParse-re akkor azt mondja hogy:
No overload for method 'TryParse' takes 1 arguments
Tehát kell neki egy argumentum de ha beírom a zárójelbe az x-et akkor sem jó neki. PL így:
x = int.TryParse(Console.ReadLine(x));Még nem használtam ezt a tryparse-t és a könyv amiből tanulok ott is csak enum típusoknál használják!
-
Lacces
őstag
Srácok, volt egy beadandó feladat, LáncoltLista C#-ban... (no comment) megoldottam magam módján, de az egyik esetben szeretnék egy szebb megoldást, a többi esetben, ha van valakinek tippje, hogyan lehet átírni rövidebb alakra, optimalizálni, azt is nagyon szívesen fogadom, sőt igénylem a jó tanácsokat
Osztály implementáció a legvégén.
Szépíteni kellene, amit úgy értek elsősorban, hogy megpróbáltam egy másik while ciklusban megírni - ami kommentelve volt - de az úgy nekem nem működött (akkor csak két elemet kaptam vissza), Működik a kód, csak csúnya
public bool AddLast(int val)
{
// Write your code here
if (Head == null)
{
Head = new Node(val);
Size++;
return true;
}
else
{
Node current = new Node(val);
Node previous = Head;
int i = 1;
while (i < Size)
{
previous = previous.Next;
i++;
}/*
while(previous.Next.Next!=null){
previous.Next = previous.Next.Next;
}*/
previous.Next=current;
Size++;
return true;
}
}Ezeket lehet-e másképp implementálni? (vagy optimalizálni)
public bool AddFirst(int val)
{
// Write your code here
Node current = new Node(val);
current.Next = Head;
Head = current;
Size++;
if (Head == current)
return true;
else
return false;
}public bool RemoveAll(int val)
{
// Write your code here
bool result = false;
if (Head == null) return false;
if (Head.Value == val)
{//does head contain the value
Head = Head.Next;
Size--;
result = true;
}
Node Prev = Head;
while ((Prev.Next != null))
{//actually checking prev.next if it contains the value
if (Prev.Next.Value == val)
{
Prev.Next = Prev.Next.Next; //remove link from prev to prev.next
Size--;
result = true;
}
else
{
Prev = Prev.Next;
}
}
return result;
}Osztály Implementáció:
class MyLinkedList
{
public int Size { get; private set; }
Node Head { get; set; }
class Node
{
public int Value { get; private set; }
public Node Next { get; set; }
public Node(int val)
{
Value = val;
}
//... metódusok -
Lacces
őstag
válasz
Gülredy #2461 üzenetére
A többiek jól mondják
Plusz, használj TryParse-t a Parse helyett
Magyarázat itt: Magyarázat itt AE-tól
-
Gülredy
tag
válasz
WonderCSabo #2462 üzenetére
Tehát akkor, nekem kellene mondjuk egy for ciklus, amiben megvizsgálom, hogy az adott számnak hány osztója van, és ha az csak 2 akkor kiírom, hogy prím, ha több akkor nem prím?
-
WonderCSabo
félisten
válasz
Gülredy #2461 üzenetére
A % operátor a modulus operátor, nem az osztás eredményét adja vissza, hanem hogy mennyi a maradék. Pl. 5 % 2 == 1.
Ergó ez a kifejezés : x % x == 1 && x%1 == x semmilyen számra nem lesz igaz, hiszen egy számot önmagával leosztva a maradék mindig 0, illetve egyel osztva szintén.
Továbbá, a prímszákat a nem prímszámoktól az különbözteti meg, hogy a prímszámoknak pontosan 2 osztója van: 1 és önmaga. A nem prímeknek minimum 3.
"ha önmagával osztom akkor az 1, ha 1 el osztom akkor önmaga"
Ez minden számra igaz, nem csak a prímekre.
A prímség eldöntését első körben úgy szokták megírni, hogy egy ciklusban modulussal osztogatják a számot, és ha a modulus 0-át ad, akkor ugye egy osztót találtak. Ekkor a számlálót megnövelik egyel. A végén megnézik, hogy a számláló 2-e vagy sem.
-
Gülredy
tag
Sziasztok!
Egy nagyon egyszerű program írásába kezdtem bele. Egy olyan programot írok ami kiírja egy bekért számról hogy prím-e vagy sem. (kezdő vagyok)
A gond csak az hogy nem tudom milyen kikötést adhatnék meg. Mert amit én megadtam az minden számra igaz, így a program szerint minden szám prím amit csak beírok. (x % x == 1 && x%1 == x)
Mert végül is ez a prím szám, hogy ha önmagával osztom akkor az 1, ha 1 el osztom akkor önmaga, de azt nem tudom, hogy azt hogy adthatnám meg hogy mással ne legyen osztható csak ezzel a két kikötéssel és akkor írja ki hogy prím. Valószínűleg nem jó irányból közelítem meg ezért kérném a segítségeteket, mert a neten csak olyat találok ami kiír egy megadott számú prímszámot.Így néz ki a program:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace primszam_e
{
class Program
{
static void Main(string[] args)
{
int x;
Console.WriteLine("Adjon meg egy természetes számot:");
x=int.Parse(Console.ReadLine());
if (x==1 || x==0)
{
Console.WriteLine("Az 1 és a 0 nem prím szám");
}
else if (x % x == 1 && x%1 == x)
{
Console.WriteLine("Prím szám");
}
else
{
Console.WriteLine("nem prím szám!");
}
Console.ReadKey();
}
}
} -
martonx
veterán
válasz
[pod]Diablo #2459 üzenetére
Használj ingyenes bsplayer-t, az pont ezt csinálja. Meg gondolom kb. bármelyik rendesebb média lejátszó rákeres, és felkínálja a talált feliratot.
Másrészt megnézed, hogy file szinten megvan-e a fájl. Ha nincs akkor letöltöd. Ha megvan, akkor nem töltöd le. Ha jól értelek.
-
[pod]Diablo
őstag
Üdv!
Egy olyan program irasaba kezdtem most bele ami minden nap a gep bekapcsolasakor atnezi neten a feliratokat,es ha jott ki uj,az adott sorozatokhoz akkor azt le is tolti.Addig megvagyok vele hogy megkeresek egy feliratot es letoltok,csak azt a reszet nemtudom meglehet-e oldani hogy minden betoltesnel ugye atnezi a feliratokat es ha megvan egy adott felirat akkor kovetkezo betolteskor mar a kovetkezo reszhez keresse a feliratot.
amargo: Koszi szepen,sikerult: )
Elore is koszonom a segitseget!
-
amargo
addikt
válasz
[pod]Diablo #2456 üzenetére
-
[pod]Diablo
őstag
Üdv!
Azt hogy tudom megvalositani hogy van egy string valtozom,megadok egy bizonyos szot,szoveget,es jelez nekem a program hogyha a stringen belul megtalalhato az adott szo,szoveg?
Elore is koszonom a segitseget!
-
x007
tag
Nem, az equals is referencia egyezést vizsgál alapértelmezettként, ha ezt logikai egyezésre akarod módosítani, akkor írd felül.
Igen a példa jó:
public bool Equals(Person other)
{
if (other == null)
return false;
if (this.uniqueSsn == other.SSN)
return true;
else
return false;
}
public override bool Equals(Object obj)
{
if (obj == null)
return base.Equals(obj);
Person personObj = obj as Person;
if (personObj == null)
return false;
else
return Equals(personObj);
}Itt az történik, hogy a Equals(object) metódus megnézi, hogy Person típusú objektumot kapott-e, ha igen továbbdobja az Equals(Person) metódusnak, ami a logikai egyezést vizsgálja.
-
Lacces
őstag
válasz
WonderCSabo #2451 üzenetére
WonderCSabo Lehet igazad van
Csak pár egyszerű mezei példát láttam operátor felülírásra!
x007 Az equals-t hogyan kell felülírni? Van rá általános megoldás? (vagy elég úgy ahogy fentebbi hsz-nél van)
És ennek mikor van gyakorlati haszna? (amikor megvizsgálom, hogy a két referencia ugyanaz-e)
Szerk.:
Azt szem látom mire gondoltál, ennyi átírás bőven elegendő [IEquatable.Equals], ami az oldalon van public override bool Equals(Object obj)
? -
x007
tag
Referencia típusoknál az equality operator azt vizsgálja, hogy a két referencia ugyanarra az objektumra mutat-e, de ezt operator overloading-gal megmásíthatod. Referencia típusoknál ez nem javasolt. Inkább írd felül az Equals metódust, vagy még jobb, ha az IEquatable generikus interfészt implementálod (ebben az esetben is írd felül az Equals metódust). Ha nem rendelkezel az osztály felett, javasolt egy összehasonlító osztály létrehozása az IEqualityComparer generikus interfész implementálásával.
-
Lacces
őstag
válasz
Lortech #2449 üzenetére
WonderCSabo Köszönöm, igen azt én is észrevettem, de azthittem több van a háttérben.
Lortech Köszönöm, így kerek most, ezt a value type-ot hirtelen nem értettem az elején, de hogy így itt írtad, rájöttem, hogy "érték típus"
Amúgy ha a mező referencia típus, akkor ugyanúgy megvizsgálja, hogy a referencia típusban lévő értékek "=="-e ?
pl.: egy lista, ugyanazokkal az elemekkel? -
Lortech
addikt
A Negyzet osztályod "a" mezője elvileg value type, így az override-olt equals metódusban a return this.a == tmp.a; sor miatt a két négyzet példány equals-szal összehasonlításával azt vizsgálod, hogy a két példány megfelelő "a" mezője "==" -e, és 2.0 egyenlő 2.0-vel (feltételezve, hogy Negyzet konstruktorában "a"-nak értékül adod a paramétert).
-
Lacces
őstag
Hali!
Objektumoknál írtunk egy ilyen Equals()-t én csak most vettem észre, hogy az
n1.Equals(n3) esetén true-t ad vissza. Az a kérdésem, hogy miért?
(Nem hiszem, hogy a paraméter miatt lehet)(n1==n3 false, mert a két objektum más helyre mutat.)
public override bool Equals(object obj)
{
// as - Referenciát ad vissza, ami a jobb oldalon van, ha konvertálható
// ha nem, akkor null-t ad vissza!
Negyzet tmp = obj as Negyzet;
// Ha Nem sikeres a konverzió
if (tmp == null)
{
return false;
}
// Ha Sikeres a konverzió
return this.a == tmp.a;
}static void Main(string[] args)
{
Negyzet n1 = new Negyzet(2.0);
Negyzet n2 = new Negyzet(5.0);
Negyzet n3 = new Negyzet(2.0);
...
Console.WriteLine((n1==n2) + " " + (n1==n3)+ " " + (n2==n3));
Console.WriteLine(n1.Equals(n2)+ " " + n1.Equals(n3)+ " " + n2.Equals(n3)); -
fatal`
titán
Profi fejlesztők (és nem profik)
Az if (!DesignMode) kód használata lassítja a lefordított programot, vagy a fordító kigyomlálja ezt belőle? (hiszen release exe futtatáskor biztosan nincs design modeban az egész, így értelmetlen vizsgálat lenne)
-
martonx
veterán
???
Osztály: autó
Objektum: pl. Renault Thália 1.5 dízel, kék színű azaz az osztály megfelelően létrehozva beparaméterezve
És igen ez a Reanult Thália tulajdonképpen egy változó, mert átfestheted pirosra, rakhatsz rá másmilyen gumikat stb...Azaz:
Auto Thalia = new Auto();
Majd:
Thalia.kerek = Michelin;
Thalia.szin = kek;
és így továbbA többi kérdésedet végképp nem értem, mikor alájuk vannak írva a válaszok.
-
Lacces
őstag
Sziasztok!
Elméleti kérdéseim lennének: (összevadászgattam java és c#)
Mi a kapcsolat az objektum és az őt definiáló osztály között?
Az objektum az osztály egy megvalósítása , példánya. Mást nem találtam...Hogyan tud deklarálni egy objektum referencia változót?
Ez mi? Ez alatt mit ért? Kerestem neten, és ilyen megoldások születtek: String, Array, magyarán Object osztály gyermekeinek az objektumai. Ez alatt mit érthetnek?Hogyan tud létrehozni egy objektumot?
new kulcsszóval és konstruktorhívássalHogyan tud deklarálni és létrehozni egy objektumot egyetlen utasítással?
ClassName objectName = new ClassConstructor();
Pont emiatt nem értem az objektum referencia változót, hogy mi az akar lenni. Mire gondol a tanár. Vagy csak simán erre gondol: Osztálynév ObjektumNév ?Mi a különbség a konstruktorok és a metódusok között?
Elnevezése az osztály neve.
Inicializálja az Osztályt
Nincs visszatérési értéke
Létrehozza a VMT-t (Virtual Method Tablet) -
Jester01
veterán
válasz
ArchElf #2438 üzenetére
Viszont kelleni fog egy belső ciklus is, mert lehet, hogy az összeg egyszerre több faktoriális lépést ugrik. Továbbá utána ismét meg kell nézni, nem lett-e egyenlő. (Tulajdonképpen csak utána kell megnézni, előtte nem kell.)
Induláskor pl. fakt_alap = fakt_összeg = 1, és ha az első szám amit beírunk 6, akkor azt nem veszi észre mivel csak a 2-re lép. De még ha 2-t is írunk be, azt se veszi észre, mivel a lépés után már nem nézi az egyezést.
-
ArchElf
addikt
parse: én nem adok neki olyan bemenetet, ami problémát jelentene
Ilyeneknek soha nem szabad berögzülniük...Mintha autót építnél úgy, hogy nincs rögzítve a tengelyen a kerék, mert úgysem rögös a út...
Kis segítség:
Pozitív számokat adsz össze - tehát a számok összege folyamatosan nő. A számokat nem kell egyesével nyilvántartanod. A faktoriális összege is folyamatosan nö.
-> megjegyzed, hogy hoé tartasz a faktoriálisban, és ha az összeged nagyobb, mint az utolsó faktoriális összeg, akkorgyomorbólkb így:long összeg = 0;
long fakt_alap = 1;
long fakt_összeg = 1;
do
{
'... beolvasás
if (összeg == fakt_összeg)
{
Console.WriteLine(Az összeg [{0}] faktoriális, az alapja [{1}]", összeg, fakt_alap);
}
else if (összeg > fakt_összeg)
{
fakt_alap++;
fakt_összeg *= fakt_alap;
}
while (...);AE
-
Aronle
csendes tag
válasz
ArchElf #2435 üzenetére
Az említett két for ciklus az összehasonlítást végezte volna:
a 2.-ban generálódtak volna faktoriális értékek, melyek az összeghez lettek volna viszonyítva, de ez így nem működőképes.for ciklus helyett, ezt hogyan lehetne megvalósítani? (sajnos meg van kötve a kezem, nem rendelkezem még kell ismerettel)
"-figyelmi kell a különbségeket, és csak akkor számolni, ha szükséges"ami a tryparse-et illeti, a következőkben figyelek rá.
parse: én nem adok neki olyan bemenetet, ami problémát jelentene (csak tanulási célból készül, saját felhasználásra), élesben megértem a tryparse szerepét.Köszönöm a tanácsokat!
-
ArchElf
addikt
Na ezt már érdemes optimalizáltan csinálni
Kell hozzá egy kis mögöttes logika - kb mindent ki lehet használni, azok közül, amit jester az én példáimban javítandónak talált:
- nem kell feleslegesen - minden bekérés után - számolgatni (összeg, faktoriális), figyelmi kell a különbségeket, és csak akkor számolni, ha szükséges
- hibakezelést, rendesen megoldani
- ja, és ugye írtuk, hogy vagy tryparse, vagy kivételkezelés... hmm?A két for ciklust nem igazán értem...
AE
-
Aronle
csendes tag
válasz
ArchElf #2432 üzenetére
A feltételezés helytálló, pár hete tanulok programozni, példáidon keresztül könnyebb volt megérteni a probléma megoldását.
@Jester01: szakmailag biztosan így célszerű kivitelezni ezt a feladatot, ebben nem kételkedem, de még nem állok ezen a szinten. Ellenben díjazom, hogy a legmegfelelőbb kivitelezésre törekedtél.Köszönet mindkettőtöknek!
Valamint fel is vetnék egy következő feladatot, ha van egy kis időtök...
"Kérjen be addig számokat, míg nem adnak meg egy negatívat vagy nullát, az eddigi bekért számokat adja össze és nézze meg hogy van-e olyan egész szám, amelynek az eredmény, a faktoriálisa-e, vagy sem, ha igen irja ki hogy "faktoriális" + az érték, ha nem akkor írja ki, hogy nem az. "
Próbálkozásom:
class zh_feladat
{
static void Main()
{
System.Console.WriteLine("adjon meg számokat, a program összeadja őket, míg azok >=0, majd megvizsgálja, hogy a számok
összege faktoriális-e?);
int osszeg = 0;
int szam;
do
{
szam = int.Parse(System.Console.ReadLine());
if (szam > 0)
{
osszeg += szam;
}
}
while (szam >= 0);
{
for (int n = 0; n <= osszeg; n++)
{
int eredmeny = 1;
for (int i = 1; i <= n; i++)
{
eredmeny *= i;
}
{
if (osszeg == eredmeny)
{
System.Console.WriteLine("az összeg faktoriális");
}
else if (osszeg > eredmeny || osszeg < eredmeny)
{
System.Console.WriteLine("az összeg nem faktoriálisa egy szamnak sem");
}
}
System.Console.WriteLine("összeg: " +osszeg);
System.Console.ReadLine();
}
}
}
}először: remélem nem követtem el nagy kontárságot, ha igen elnézést miatta.
másodszor: a "dupla" for cikluson belül akartam összevetni, hogy az adott számok összege faktoriális-e?; ez így nem akar működni.
Így kérném segítségetek, előre is köszönöm!
(ps: bocs a hosszúra sikeredett postért) -
martonx
veterán
C# tanulók:
1.000 Ft-ot szerintem nagyon megér, és garantáltan több tudást ad, mint két félév C# az iskolában.
Én is részt akarok venni rajta, egy kis tudás frissítés sosem árt.
-
ArchElf
addikt
válasz
Jester01 #2431 üzenetére
NP
Egyébként a példákat inkább csak az azonos megvalósítás kedvéért hoztam.
A példáim inkább egyszerű szemléltető kódocskák voltak, mint valós problémára írt csontra optimalizált kódok. Abban mondjuk egzet;rtek, hogy a tanulók inkább tanuljanak egy kicsit (nem is kicsit) optimalizálni, és problémamentes kódot írni.De had engedtessék meg nekem, hogy magyarázkodjam kicsit:
Természetesen plusz egy változóval sokkal hatékonyabban (nagy tömbelemszám esetén) megoldható a probléma, de ebben az esetben... Lássuk be, hogy három értékadás kb ugyanannyi erőforrást igényel, mint két értékadás plusz egy modulus osztás (ráadásul memóriában kevesebb is).
List / Sum (Linq) egyértelműen pazarlás erre a célra, ezekben az esetekben csak azt szerettem volna bemutatni, hogy nem csak a tömb létezik a .NET struktúrában, és List-tel lehet hasonló dolgokat csinálni (ráadásul úgy, hogy munka oroszlánrészét megcsinálja helyettünk a környezet).
Mondjuk a MOD-ot nem igazán értem. Az összeget mindig újra kell számolni, hiszen, ha mást nem a régi tagot ki kell vonni, az újat pedig hozzá kell adni, három tömbelem esetén ez sem biztos, hogy előnyösebb.Emellett feltételeztem, hogy a kolléga nem nagyon konyít a kivételkezeléshez (bocsánat a feltételezésért), viszont olyan kódot nem szeretek írni, ahol a kivételek nincsenek minimálisan sem lekezelve. A kivételkezelést pedig nem itt gondoltam bemutatni...
Feltételeztem azt is, hogy esetleg már valami offiszos tapasztalata (excel), ahol az =Int("szöveg") nullát ad vissza, ezért az általam írt kód is ezt a sémát követi. Természetesen megoldható volna az is, hogy a temp = 0; helyett egy Console.Error.WriteLine-al hibaüzenetet dobjon + continue segítségével újra bekérjen adatot a kód (mondjuk úgy rémlik, hogy a kivételkezelés módja nem volt lespecifikálva).
Végül (még egyszer?): nem egy általános megoldást akartam adni (ami kód mennyiségben valószínűleg több is, ráadásul egy kezdő számára sokkal nehezebben felfogható egészben, mint rész-példák összegeként).
Ja, és egyáltalán nem sértődtem, és köszönöm az építő kritikát.
AE
-
Jester01
veterán
válasz
ArchElf #2429 üzenetére
Ezek a megoldások mind működnek, de egyik sem túl hatékony. Mindig szem előtt kell tartani az adott adatszerkezet előnyeit és hátrányait valamint azt a tényt, hogy általában a programok lassúságának fő oka a memória foglalás illetve felszabadítás valamint a másolgatás.
Jelen esetre vetítve: vegyük észre, hogy a List elejéről törlés ugyanolyan másolgatást von maga után mint az első megoldásban lévő explicit mozgatás. Tehát lassú.
Ide kéremszépen egy cirkuláris buffer nevű adatszerkezet kell, ami egyszeri memóriafoglalással, másolgatás nélkül megoldja a problémát. MOD: és persze az összeget is nyilván kell tartani, nem mindig újraszámolni.
Nyilván a fentieknek akkor van értelme ha sok adattal, sokszor dolgozunk. A konkrét feladatban valószínűleg mindegy, hiszen a program leginkább a felhasználóra vár. Kivéve persze ha egy fájlt vagy másik program kimenetét irányítjuk bele.
Parse azért rosszabb, mint a TryParse, mert ha nem tud konvertálni (pl szám helyett szöveget adtál be), akkor dob egy FormatException-t, és azt le kell kezelni, hogy ne szálljon el a program.
Az addig igaz, hogy ez a különbség a kettő között. De ettől egyik sem rosszabb a másiknál, csak tudni kell mikor kell őket használni. Ha "helyben" tudod kezelni a hibás adatot, akkor TryParse, ha pedig csak blokk szinten vagy a hívóban akkor jó a kivételkezelés. Mérlegelni kell továbbá, hogy milyen gyakori a hibás bevitel, mivel a kivételkezelésnek esetenként jelentős többletköltsége van.
A te kódod egyébként nem túl szerencsés, mivel az értelmezhetetlen adatot csendben nullának veszi. Helyesebb lenne egyszerűen kihagyni. (Természetesen a felhasználó tájékoztatása mellett, de ezt ugye az itteni programocskákból szándékosan szoktuk elhagyni.)
Elnézésést a sok kötözködésért, igyekeztem konstruktív lenni.
-
szívesen, nem kötekedni akartam, csak ezek a tömbös feladatok mindig felhúznak, mert elrugaszkodottak. Hiába tudsz tömböt kezelni, a valós életben ritkán jön elő, ha nem speckó területre megy az ember.
A példában meg leég 3 elem, összeadod, és nullázol, hogy jöhessen a köv. 3 szám, de persze kollekciókkal már mindjárt más.
-
ArchElf
addikt
A List, csak csinál egy listát a három elemű tömbből (és a tömböt utána el is dobja, úgy ahogy van). Alapból a lista nem korlátos gyűjetmény (Collection), így bármennyi elem hozzáadható, ha a méretét nem korlátozzuk le fixre.
Parse azért rosszabb, mint a TryParse, mert ha nem tud konvertálni (pl szám helyett szöveget adtál be), akkor dob egy FormatException-t, és azt le kell kezelni, hogy ne szálljon el a program.
AE
-
Lacces
őstag
válasz
ArchElf #2426 üzenetére
stevve, Jester01 köszi. Igen, nem az, de legalább fejből jött magamtól :-D És ez már félsiker. Egy nap olyan jó programozó leszek mint ti
AE Neked külön köszönet, a példakódért. Nagyon tetszett ez a megoldás, sosem találtam volna ki, ezt
Még List-eknél nem járok.
Hogyan működik a tomb.add() ? Tudom, hogy a List elemhez hozzáaadja a tempet.De ha már a List tartalmazza: 3, 4, 4
akkor hogyan tudja hozzáadni a 4. elemet?
(rendben vágom, hogy utána az 1. elemet törli)
Ahogy látom, hogy a List egy 3 elemű tömböt tartalmaz, és ez érdekel, hogy a háttérben a 4.-ket hogyan képes hozzáadni.TryParse, igen, már eszembe jutott, hogy ezt érdemes használni. De én akkor fórumon a Convert.ToDouble()-el hasonlítottam. Azt írták azért nem jó a Convert.ToDouble, mert az pluszban meghívja a TryParse()-t, meg olyat vettem észre, hogy false helyett 0-val tért vissza.
Parse-nek mi a hátránya a TryParse()-al szemben? Amiért nem javaslod?
Bocs de még egyetemen vagyok, és a legtöbb oldalt marha nehezen hozza be
-
ArchElf
addikt
Három megoldás, ami nem korlátoz... Ja és Parse helyett TryParse-t érdemes használni...
static void Tömb1()
{
int[] tomb = new int[] { 0, 0, 0 };
do
{
int temp;
if (!int.TryParse(Console.ReadLine(), out temp))
temp = 0;
tomb[2] = tomb[1];
tomb[1] = tomb[0];
tomb[0] = temp;
} while (tomb[0] + tomb[1] + tomb[2] != 8);
Console.WriteLine(" Az utolsó 3 elem összege 8 ");
}
static void Tömb2()
{
List<int> tomb = new List<int>(new int[] { 0, 0, 0 });
int sum;
do
{
int temp;
if (!int.TryParse(Console.ReadLine(), out temp))
temp = 0;
tomb.Add(temp);
tomb.RemoveAt(0);
sum = 0;
foreach (int val in tomb)
sum += val;
} while (sum != 8);
Console.WriteLine(" Az utolsó 3 elem összege 8 ");
}
static void TömbLinq()
{
List<int> tomb = new List<int>(new int[] { 0, 0, 0 });
do
{
int temp;
if (!int.TryParse(Console.ReadLine(), out temp))
temp = 0;
tomb.Add(temp);
tomb.RemoveAt(0);
} while (tomb.Sum() != 8);
Console.WriteLine(" Az utolsó 3 elem összege 8 ");
}AE
-
Jester01
veterán
Ez nem az a tömbös megoldás amire én céloztam. Az helyes volt az eredeti programban, hogy csak annyi adatot tárolt el amennyi a feladathoz kellett. Ettől az még végtelen sorra működött ellentétben a tieddel. Én csak arra utaltam, hogy a szam1,2,3 változók helyett kellene a tömb, ezáltal a program általánosabb és szebb lenne.
-
Lacces
őstag
Hali!
Tömbös megoldás:
Igyekeztem követni a do-while szerkezetedet, de én benne elhelyezkedtem inkább egy IF-et így számomra átláthatóbb, de több megoldás is van :-)Szerintem is célszerű a tömbös, szerintem a legtöbb embernek elsőre ez ugrik be
1-50-ig futhat le a ciklus... max 50-ig próbálkozhatsz :-D Azért a végtelenségik ne! :-D
Ha a bevitel már nagyobb vagy egyenlő mint 3
Ha igena tömb utolsó 3 elemének az összege egyenlő-e 8-al?
Kiírom, hogy van eredmény
megszakítom a ciklus futását! (break utasítás)int[] tomb=new int[50];
int i = 1;
do
{
int temp;
temp = int.Parse(Console.ReadLine());
tomb[i] = temp;
if (i >=3)
{
if ( (tomb[i] + tomb[i - 1] + tomb[i - 2]) == 8)
{
Console.WriteLine(" Az utolsó 3 elem összege 8 ");
break;
}
}
i++;
} while (i<=50); -
Jester01
veterán
Azt próbálja csinálni, hogy mindig a három legutolsó számot jegyzi meg. Tehát amikor bekér egy újat, az előző kettőt eggyel hátrébb lépteti. Persze ehhez illene inkább tömböt használni. A fordító egyébként nem veszi észre, hogy a szam változókat nem kell inicializálni ezért kiabál (legalábbis nálam). A probléma megoldását az olvasóra bízom
-
Aronle
csendes tag
Sziasztok!
A következő feladathoz szeretném a segítségeteket kérni:
Kérjen be a felhasználótól egész számokat addig, amíg három egymás után beírt szám összege 8 nem lesz. Akkor a program érjen véget.Ezt a kódsort kaptam "megoldásként", de nem fordítható, nem értem a cikluson belüli egyenlőségek miértjét. Segítségeteket előre is köszönöm!
class Program
{
static void Main()
{
int darab = 0;
int szam1, szam2, szam3;do
{
szam1 = szam2;
szam2 = szam3;
szam3 = int.Parse(System.Console.ReadLine());
darab++;
}
while (darab < 3 || szam1 + szam2 + szam3 != 8);
System.Console.WriteLine("ok");
System.Console.ReadLine();
}
} -
fatal`
titán
Újabb probléma.
Van egy reportom (rdlc), a fejlécbe szeretnék betenni egy képet, de egy szürke vonalat rak az aljára meg a tetejére (másik képpel is próbáltam, annak meg a jobb oldalára teszi), pedig a bordert nonera állítottam. Gondolom valami árnyék, vagy ilyesmi lehet, de nem találtam erre beállítást.
Hogy lehetne ezt eltűntetni?
-
Gülredy
tag
válasz
Jester01 #2412 üzenetére
Volt egy feladat előtte de azzal sem mentem többre (más programozási feladat nem volt)
Itt a feltételezett előzmény:
A program inputja egyetlenegy kezdőállapot, outputja pedig a 10 lépés során az ágens által választott akciók, és mellé a világ aktuális állapotainak leírása. Pl.
Input: pozíció:A A: koszos B:tiszta
Output:
1 -- akció:szív pozíció:A A:tiszta B:tiszta
2 -- akció:jobbra pozícióA:tiszta B:tiszta akció:
3 -- akció:balra pozíció:A A:tiszta B:tiszta
4 -- ...........Tehát az lenne a lényege, hogy egy porszívó robotot kell készíteni, amely először bekér egy kezdőállapotot , majd a 10. lépés után kiírja hogy milyen lépést választott(?), és ha jól veszem ki akkor mind a 10et kiírja.
Ennyi volt az előzménye.Elég kezdő vagyok c#-ban így valószínűleg csak ezért okoz gondot ez, bár a tanár magyarázása is elég össze vissza. Tudnál segíteni hogy induljak el?
-
fatal`
titán
Tud valaki linket átfogó ReportViewer tutorialhoz?
Nyomtatnom kellene képet, táblázatot, többsoros szöveget és datagridviewt is, de nem tudom, hogy fogjak hozzá.
A printdocumentet nézegettem eddig, de a gdi-s drawstringnek elég sok része problémás (pl. kilogó szöveg, rossz sortörés stb.).
Lokális programról van szó (nincs szerver, meg semmi ilyesmi tehát az adott gépen kell a dokumentumot generálni).
-
Jester01
veterán
válasz
Gülredy #2411 üzenetére
Mivel ez egy előző feladatra épít, így aztán a feléről fogalmam sincs mit akar.
Úgyhogy csak a konkrét kérdésedre válaszolok:Például ezt a 1:100-hoz valószínűségű dolgot se tudom, hogy lehetne kivtelezni, mert jelenleg csak ezt ismerem Random r = newRandom(); number = r.Next(100); de ez csak 0-100 ig kiválaszt egy random számot az meg ide nem lenne jó.
Szerinted ez miért is nem lenne jó? Hiszen ez 100 lehetséges számot ad vissza, tehát egyenletes eloszlást feltételezve bármelyik szám valószínűsége 1%. Vagyis egy tetszőleges de állandó számmal összehasonlítva máris megkaptad ami kell.
-
Gülredy
tag
Sziasztok, volna egy igen érdekes kérdésem.
Kiadtak egy feladatot (szorgalmi) amit plussz pontért lehetne megcsinálni. A gond csak az hogy nem igazán értem, hogy hogy is kezdjek neki, részben a szöveg érthetetlenségén, részben pedig bizonyára a saját tudatlanságom végett.
A feladat ez lenne:Fejlettebb porszívó-ágens:
Továbbra is két szoba van, de a szobák a 100 egységnyi élettartam alatt
véletlenszerűen bekoszolódnak, minden időpillanatban bármelyik szoba 1:100
valószínűséggel. teljesítménymérték: minden 10-ik időpillanatban a tiszta szobáért +2p, a koszosért -4p, minden mozgás -1p, minden szívás -2p.
Adjon egy ágensfüggvényt papíron és implementálja is programban. 1000-szer futtassa és közölje outputban, hogy melyik futásnál mennyi pontot ért el. Egy futást úgy dokumentáljon, ahogy az előző feladatban, csak tegyen a bekoszolódott szoba mellé egy felkiáltójelet, pl ha. a 72. lépésben bekoszolódott a B szoba:72 -- pozíció:A A:tiszta B:koszos!
Le tudná valaki írni hogy hogyan is programozná ezt meg c#-ban?
Nem a 100%os megoldást várom bár azért sem haragudnék meg, hanem olyanokat hogy ezt meg ezt felvenném változónak, kellene hozzá egy for ciklus ami vizsgálná ezt meg ezt ...
Például ezt a 1:100-hoz valószínűségű dolgot se tudom, hogy lehetne kivtelezni, mert jelenleg csak ezt ismerem Random r = newRandom(); number = r.Next(100); de ez csak 0-100 ig kiválaszt egy random számot az meg ide nem lenne jó.
Valakinek valami ötlete az egészre? -
martonx
veterán
válasz
ArchElf #2409 üzenetére
Nem is ingyen gondoltam volna Az egyeteme helyében lazán kirugnám a semmirekellő / hozzá nem értő tanárokat, majd a felszabaduló bérükből finanszíroznám az óraadókat. Közben pedig karonként plusz 2-3 fővel felduzzasztanám a phd-sek, kisegítő munkaerők számát akik íratnák, javítanák a dolgozatokat, végeznék a dokumentációs nyűgöket. És tuti, hogy végeredményben még pénzt is spórolna ezzel az iskola.
De hát nem én vagyok az oktatás politika vezetője, mostanában fontosabb, hogy legyen-e kötelező a hittan, meg egyéb baromságok...
-
martonx
veterán
válasz
ArchElf #2407 üzenetére
Azért egy egyetemi tanár nem keres rosszul. Bár valóban kereshet egy fokkal többet is a versenyszférában.
Mondjuk igaz a mondás. Aki tudja az csinálja, aki nem tudja az tanítja.
Szerintem a megoldás az lehetne, hogy egyszerűen a versenyszférából kellene tanárokat keríteni. Napi 1-2 előadást, gyakorlatot szerintem sokan bevállalnának a versenyszférában dolgozó jó szakemberek közül is.
Plusz erősíteném a nyári, meg mindenféle gyakorlatot. Programozni egyszerűen úgy lehet megtanulni, hogy elmegy a diák pár hónapra egy-egy komoly céghez, és ott dolgozik. Nyilván nem a komoly nagy projekteket fogja vinni, de a kuli munkák során is komoly rálátást, gyakorlatot lehet(ne) szerezni.
-
ArchElf
addikt
válasz
martonx #2405 üzenetére
Csak azt nem értem, hogy miért, nem lehet ezen változtatni?
Csak azért, mert aki érti is amit csinál (és amit a piac követel), az képes megélni a piacról és nem kell beérnie azzal a pár fillérrel, amit az iskola (állam) a tanároknak ki tud fizetni. Nincs nagy ördöngősség.
Ja és aki igazi szaki, az álaltában nem jó tanár, mert nincs türelme a tanulni nem akaró (és így a témához ostoba) diákokhoz.AE
-
Dehogy van harag.
Miért lenne. azt viszont nem tudtam, hogy ez sulihoz kell. Azt hittem, otthon, magadtól akarsz c#-ozni. Ha suli, akkor más. Ott sajnos kötelező ezekkel vackolni.
martonx:
Sajnos ezen az életpálya modell és egyebek sem segítenek. Szemléletet kellene váltani - csak ezt nehéz, már csak a szabályozások miatt is. -
Lacces
őstag
Sziasztok!
Köszönöm a megoldást Jester01 Illetve a többieknek is. Bocs, hogy ilyen későn jöttem fel a válasszal.
Amúgy ez egy gyakorló feladatsor része volt, amelyek közül a következő gyakon, lesz belőle egy röpi, és ha az ember nem tudja megoldani az adott feladatot 10-15 perc alatt akkor nem kaphat aláírást és bukta az egész tárgyat.
És tegnap este annyira a rendezésben gondolkoztam... az a és a[i+1]-re fokuszáltam, hogy amit Jester01 írt le, az a(i) és a[j] kombó teljesen kiment a fejemből, csak másnap reggel jutott eszembe, mikor c++-ozni kellett. :-DMost a java-t és c#-ot tanuljuk, de... nem is ennek a két nyelvnek az alapjait, hanem ilyen c/c++-os feladatok megoldását, nézzük. Szal c++-osan programozunk.
Meg most vannak tantárgyak, amelyek c++-ra épülnek, szal nem baj ha megtanulom ezeket az algoritmusokat.
Sőt nekem nagyon tetszett amikor python-nal melegettem be a programozásba (nekem a python sokat segített, szerintem egy jó tanuló nyelv), hogy egy split metódust megírtunk saját kezüleg, mert így tudom, hogy akkor egy-egy függvény hogyan működik a háttérben, vagy volt egy C-os könyv, ahol olyan függvényeket írtunk meg, amelyek pl.: a unixos cat parancs megvalósításának is tökéletesen megfelelt. Ez nekem tetszett és sokat segített.Visszont értem én stevve érvelését is. Magamtól tanultam ezeket a kollekciókat, használtam is stb. Java és C# alapok vannak. És tényleg értem én, hogy mit mondasz, mert amit a munka világa követel, azt az egyetem nem tanítja. Azt magamtól kell megszerezni. Teljesen megértelek, és hidd el én is kidobnám ezeket, de ha kell diploma, akkor muszáj leszek ezeket megcsinálni
Máskor majd jelzem, hogy sulihoz kell vagy magamnak, Bocsánat, remélem nincs harag!
-
válasz
Jhonny06 #2402 üzenetére
Ha jól veszem ki az eddigiekből, a C-s világból tér át a kolléga C#-ra. Szerintem egy nyelvben sem az a legérdekesebb, hogy egy index milyen típusú és hogy tudok-e olyan algoritmust, ami kettőt oszt hatfelé és megszorozza x négyzetgyökével a szinuszát. Ettől már a suliban is herótom volt, mert a valós problémákhoz nincs köze és nem gondolom, hogy bármit lehet abból tanulni, ha a matekon gondolkodik az ember, nem a programon.
Sokkal érdekesebb kérdés például az, hogy mit mikor lehet példányosítani vagy az, hogy építsünk fel egy kifejezést, mint az, hogy tömbökkel szórakozzon valaki. Nem kell mindent az IntelliSense-re bízni és nem érteni, amit leírunk, mert az sem jó, de ezt nem is mondtam. Viszont egy IQueryable kezelése sokkal hasznosabb c# tudás szerintem, mint egy tömb kezelése. Én mondjuk nem sokra mennék egy olyan fejlesztővel, aki nem tud adatbázisul, de tömbzsonglőr. Persze azért tanács a tanács, mert nem muszáj megfogadni. Ez nem baj.
"Vagy azt mondják, hogy VS meg IntelliSense nélkül jegyzettömbben írj meg valamit.."
Szerencsére ez sem gyakori valós probléma.
Mindenki túlságosan egyszerűnek látja a C#-ot, pedig nem az. Nem a túlbonyolítástól lesz valami jó.
martonx:
Nem vesztettem el a türelmem, csak ennek kevés értelmét látom. Én állásinterjún a gyakorlat híve vagyok, nem a szívózásé. -
Jhonny06
veterán
Ez a lehető legrosszabb tanács volt. Az a baj a C#-al, hogy sok minden már egyenesen túl egyszerű benne. Jobb, ha "szarakodik" azzal a bubble sort algoritmussal, mert ezekből tanul az ember, nem abból, hogy a beépített sort függvényekkel rendezget. Ha később át kell állnia C-re vagy C++-ra, nagy bajba lesz az ilyenek miatt. Vagy azt mondják, hogy VS meg IntelliSense nélkül jegyzettömbben írj meg valamit..
Ú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!
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Gyúrósok ide!
- Futás, futópályák
- Okos Otthon / Smart Home
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Azonnali mobilos kérdések órája
- iPhone topik
- Autós topik
- Túra és kirándulás topic
- Home server / házi szerver építése
- További aktív témák...
- Bomba ár! HP ProBook 450 G6 - i7-8GEN I 16GB I 256SSD I HDMI I 15,6" FHD I Cam I W10 I Gari!
- Dell P2419H P2419Hc Full HD LED IPS 24" + P2719H 27" LCD monitor (vékony keretes)
- REFURBISHED - HP USB-C Dock G4 docking station (L13899-001)
- Samsung Galaxy A40 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 7 32GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest