Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
Froclee #7936 üzenetére
Még az is kiderülhet, hogy nem is olyan bad practice amíg az exception a kivételes esetre vonatkozik. Például a fentebb említett, "sok számot fájlból betöltök" az valószínűleg gyorsabb lesz az exception változatban, feltéve, hogy a számok jórészt helyes formátumban vannak. A normál végrehajtási irány ugyanis úgy lesz a leggyorsabb.
-
Jester01
veterán
Int32.TryParse
vagy elkapod az exceptiont. -
Jester01
veterán
válasz
Jester01 #7888 üzenetére
Aha, kétféle GC közül lehet választani, a másik az jobb
Sequential :48ms, count = 3840
Creating 64 sublists in parallel took: 55 ms
Concat of 64 Lists took :2 ms, count: 3840Ha adok neki többet:
Sequential :232ms, count = 19200
Creating 64 sublists in parallel took: 239 ms
Concat of 64 Lists took :3 ms, count: 19200Ez meg nem gyorsul egyáltalán, a lista allokáció az lehet, hogy lockol a háttérben.
-
Jester01
veterán
válasz
joysefke #7884 üzenetére
Sequential :46211
Creating 64 sublists in parallel took: 796 ms
Concat of 64 Lists took :3 msMonduk ez mono-val linuxon és elég gyanús a sebességkülönbség, lehet, hogy nem egy futásba kellene a kettőt tesztelni.
Ahha, nem tudom mit mókol (valami inicializáció vagy ilyesmi) de ha a szekvenciálisat kiveszem akkor már 11679 ms a párhuzamos. Azt már elhiszem, hogy négyszer gyorsabb. -
Jester01
veterán
válasz
scarbantia #7862 üzenetére
Nem kell semmit átírni az exe-nek kell paraméterben megadni. IntelPWMCA_Console.exe 2000
Nyiss egy cmd ablakot magad és abban futtasd, akkor nem tűnik el.
-
Jester01
veterán
válasz
scarbantia #7860 üzenetére
Akármit csinálok
Pontosan mit csináltál? Mert ennek egész egyszerűen paraméterben kell megmondani a frekvenciát, még példa is van hozzá.
-
Jester01
veterán
válasz
pvt.peter #7036 üzenetére
Esélyes, hogy a fordító mind a kettőből ugyanazt a kódot gyártja (common subexpression elimination), de a második mindenképpen jobb. Ez nem olyan eset ahol van érv és ellenérv is. A második jobban átlátható, kevesebb gépelés és a fordítónak is könnyebb dolga van vele. Az elsőnek pont semmi előnye nincs.
Amúgy pedig erre a switch való és ha a null-t nem kezeled le akkor nem használjuk az as operátort, inkább a C-style castot mivel az értelmesebb kivételt dob. Önmagában már az is erősen gyanút kelt, hogy egyáltalán konvertálni kell, valami valószínűleg nem jó a designnal ha ez így van.
-
Jester01
veterán
válasz
Peter Kiss #6939 üzenetére
Hm, a nunit TestCase valóban Tuple-szerű bár technikailag nem az. Ezt mindenesetre elfogadom
-
Jester01
veterán
Számpárokat, de már a kérdésben is benne volt hogy ezek sor és szék számok valami helyfoglaló rendszerben.
KVP kizárólag dictionary kapcsán merül fel, Tuple-ra pedig semmi ötletem nincs hol lehetne értelmesen használni. Az kifejezetten a nem-érek-rá-rendes-osztályt-csinálni eset, a lusta programozó számára.
-
Jester01
veterán
válasz
rkristof #6439 üzenetére
Az erőteljesen függ attól, mit is használsz konkrétan.
Az IDbCommand-nak van Parameters tulajdonsága, oda lehet hozzáadni a CreateParameter segítségével példányosított paramétert aminek előzőleg beállítod a szükséges tulajdonságait. -
Jester01
veterán
válasz
Jester01 #6358 üzenetére
Akkor cseréld fel, ha úgy akarja ...
var query = from s in model.Movies
join genre in model.Genres on s.Genre_Id equals genre.Genre_Id
join director in model.Directors on s.DirectorId equals director.DirectorId
select new
{
Title = s.Title,
Release_year = s.Release_year,
Director = director.Director,
Genre = genre.Genre
}; -
Jester01
veterán
válasz
Dilikutya #6357 üzenetére
Lásd How to: Perform Inner Joins
Szóval valami olyasmi, hogy:
var query = from s in model.Movies
join genre in model.Genres on Genre_Id equals s.Genre_Id
join director in model.Directors on DirectorId equals s.DirectorId
select new
{
Title = s.Title,
Release_year = s.Release_year,
Director = director.Director,
Genre = genre.Genre
}; -
Jester01
veterán
válasz
haromegesz14 #6318 üzenetére
De miért nem próbáltad ki, vagy kerested meg az msdn-ben
Komolyan nem értem emberek miért tesznek fel ilyen kérdéseket, amire jó eséllyel saját maguk hamarabb és megbízhatóbb választ kapnának mintha egy fórumon valami ismeretlen szavának hisznek.
-
Jester01
veterán
válasz
h1ght3chzor #6297 üzenetére
De, azt is lehet. ShellExecute + RunAsUser
-
Jester01
veterán
válasz
h1ght3chzor #6295 üzenetére
Bekéred őket aztán beállítod a ProcessStartInfo megfelelő mezőibe?
-
Jester01
veterán
Az olv.ReadToEnd(); az beolvassa a fájl összes hátralévő sorát egy stringbe,amit nem használsz fel. A readLine() utána már nem ad semmit.
Neked valami olyasmi kellhet például, hogystring line;
while((line = olv.ReadLine()) != null)
{
int x=int.Parse(line);
vanOr[x] = true;
} -
Jester01
veterán
válasz
Goose-T #6128 üzenetére
Igen (persze leginkább akkor ha a belső tömbök mérete különböző). Viszont a nested akkor is azt jelenti, hogy egymásba ágyazott. Ráadásul nem az volt a hozzászólás tárgya, hogyan hívjuk az ilyen tömböket, hanem, hogy a nested array az inkább az egymásba ágyazott tömböt jelenti.
-
Jester01
veterán
válasz
Jester01 #6106 üzenetére
Ha tudnál konkrétummal szolgálni, röviden mit kellene pontosan cserélni a fentebb belinkelt programom végén, azt megköszönöm.
A Main első sora elé szúrd be, hogy while(true) { és a kapcsoszárójelet zárd be a ReadLine után. Ezzel a program végtelen ciklusban fog futni. Ha jól értettem a kérdést akkor ezt akartad.
-
Jester01
veterán
válasz
zuzu000 #6079 üzenetére
A "maximum" szó sehol nem szerepelt ám a hozzászólásodban, a gondolatolvasásért pedig külön díjat számítunk fel
Mindenesetre ha a count nagyobb lesz mint az eddigi maximum akkor te simán eggyel növeled, nem pedig beállítod az új értékre a maximumot.
mimennyi[i2] = Math.Max(mimennyi[i2], szavak[i].Count(x => x == karakterek[i2]));
-
Jester01
veterán
csharp> int x = 125;
csharp> Math.Round(x/100.0,0)*100
100
csharp> int x = 175;
csharp> Math.Round(x/100.0,0)*100
200Vagy
csharp> int x = 125;
csharp> int mod = x % 100;
csharp> x - mod + ((mod >= 50) ? 100 : 0);
100
csharp> int x = 175;
csharp> int mod = x % 100;
csharp> x - mod + ((mod >= 50) ? 100 : 0);
200Negatív számokkal vigyázni
-
Jester01
veterán
válasz
Peter Kiss #5546 üzenetére
Persze nem mond semmit (mint ahogy a string sem!), de legalább nem string műveletek garmadájával terheli a rendszert és ha úgy adódik vissza lehet nyerni legalább a 2 számot. Jelen esetben ráadásul tényleg csak 2 szám van. Ha pedig nagyon mondatni akarsz vele bármit akkor két pillanat körérakni egy wrappert.
-
Jester01
veterán
válasz
Peter Kiss #5543 üzenetére
A stringnél sokkal szebb
-
Jester01
veterán
A string helyett valamivel szebb megoldás a Tuple<int, int>, főleg ha szükség lenne utána a komponensekre is.
Ja és a 3. pontban a foreach nem a keys-en megy hanem az egész dictionary-n mivel kell a kulcs és az érték is így fölösleges lenne az értéket a kulcs alapján megint kikerestetni.
-
Jester01
veterán
Perl ugye elvileg fut windowson is, szóval én azt nézném meg miért nem működik neked. Mondjuk nem tudom milyen GUI.
Ha meg c#-ra váltasz de amúgy linuxon is vagy, akkor gtk# felületet ajánlom ami linuxon mono-val ugyanúgy megy. Persze ehhez a windowsra meg gtk#-ot kell telepíteni.
Nem értem pontosan mit kérdeztél, de az elég alap dolog, hogy színezgetsz meg ilyesmi szóval azzal nem hiszem, hogy gond lesz.
-
Jester01
veterán
válasz
Jester01 #4797 üzenetére
using System;
using System.Windows.Forms;
public class MainForm : Form
{
private Label _label;
private Timer _timer;
private double _counter;
static public void Main ()
{
Application.Run (new MainForm ());
}
MainForm ()
{
_label = new Label();
Controls.Add(_label);
_timer = new Timer();
_timer.Interval = 100;
_timer.Tick += TimerTick;
_timer.Start();
}
void TimerTick(object sender, EventArgs args)
{
_counter += 0.1;
_label.Text = _counter.ToString("0.0");
}
} -
Jester01
veterán
válasz
metrion #4754 üzenetére
Ez több sebből vérzik. Ugye 3-3-3 sort kellene kitenni az egyes színekből, és mivel még nem is a sor elején kezdődik ezért minden sor megkezdése előtt oda is kell pozícionálni. Legjobb ha csinálsz egy függvényt ami adott színből kitesz 3 sort, és azt háromszor meghívod.
DrawStripe(kszelesseg, kmagassag, ConsoleColor.Red);
DrawStripe(kszelesseg, kmagassag + 3, ConsoleColor.White);
DrawStripe(kszelesseg, kmagassag + 6, ConsoleColor.Green);
...
static void DrawStripe(int x, int y, ConsoleColor color)
{
Console.BackgroundColor = color;
for(int i = 0; i < 3; i += 1)
{
Console.SetCursorPosition(x, y + i);
for(int j = 0; j < 40; j += 1)
{
Console.Write(' ');
}
}
} -
Jester01
veterán
Regex olvashatatlan, nem lehet karbantartani és debuggolni. Ha ezen felül még a megalkotásához is segítség kell akkor aztán totál fölösleges. Ráadásul ha számít, akkor a kézi megoldás még sokkal hatékonyabb is lehet.
Egyszer hajnalig kerestünk egy hibát mire kiderült, hogy kollega egy nagyobb regexen belül [0-2][0-9]-et használt dátumból a nap kinyerésére és így 30.-án és 31.-én nem működött...
-
Jester01
veterán
"This bit is completely implementation-specific in terms of the C# compiler [...] The somewhat eager initialization of types without static constructors was entirely legitimate according to the C# and CLR specs"
Szóval ez olyan belső implementációs részlet amiről tök fölösleges tudni és pláne fölösleges egy ZH-n megkérdezni
-
Jester01
veterán
válasz
leximester #4433 üzenetére
Amikor a háttérszál akar valamit mókolni a felületen akkor kell visszadispatchelni az UI szálra.
-
Jester01
veterán
Igen, és az esetek többségében a kódot is olvashatatlanná teszi mert keresgélni kell, hogy az adott változó most akkor milyen típusú is. Ezért nálunk az a gyakorlat, hogy akkor lehet var ha konstruktor vagy egyértelmű generikus inicializálás van (máshogy fogalmazva: ha ugyanarra sorra ránézve egyértelműen látszik a típus).
-
Jester01
veterán
válasz
kkdesign #3991 üzenetére
Ajánlom inkább a Double.TryParse metódust.
-
Jester01
veterán
válasz
Neil Watts #3960 üzenetére
Ott az a foreach amit mutattál, tegyél bele egy if-et hogy a nullásat/üreset ne tegye bele.
-
Jester01
veterán
válasz
Neil Watts #3958 üzenetére
Igen, ez az egész tömböt rendezi. Esetedben a legegyszerűbb ha a listbox-ba pakoláskor ezeket kiszűröd.
Alternatív lehetőség másik Array.Sort overload használata vagy LINQ Take+OrderBy.
Persze az is kérdés, hogy miért van tömböd List helyett. -
Jester01
veterán
válasz
Neil Watts #3956 üzenetére
Ez valóban struct tömb, de a függvényed int tömböt vár. A ref-et pedig a hívásból és a függvényből is ki kell szedni. Itt pedig egy példa Array.Sort használatával.
-
Jester01
veterán
válasz
Neil Watts #3954 üzenetére
Mivel magát tömböt nem módosítod csak az elemeket, így nem kell a ref.
Ha nincs kikötés a kézi rendezésre akkor persze ott vannak a beépített függvények mint például az Array.Sort.Viszont amit írtál az nem struct-ból van, csak szólok
-
Jester01
veterán
Kell pár ciklus ami végigmegy a sorokon/oszlopokon és jól összeadja az elemeket.
Állításod szerint a kiírás már megy, ahhoz meg pont ugyanúgy ciklusban kellett bejárni az elemeket ... akkor itt mi a baj?A sorösszegeket elég az aktuális sorra nyilvántartani, az oszlopösszegeket egy tömbben kell tárolni és a végén külön kiírni. A formázáshoz pedig {0,10
2} formátumot kell használni (ezt msdnből fél perc kinézni).
Ha a beolvasás már megvan, akkor például ilyesmi lehet:
double grandtotal = 0;
double[] coltotals = new double[data.GetLength(1)];
for(int row = 0; row < data.GetLength(0); row += 1)
{
double rowtotal = 0;
for(int col = 0; col < data.GetLength(1); col += 1)
{
coltotals[col] += data[row, col];
rowtotal += data[row, col];
Console.Write("{0,10:F2}", data[row, col]);
}
grandtotal += rowtotal;
Console.WriteLine("|{0,10:F2}", rowtotal);
}
for(int col = 0; col < data.GetLength(1); col += 1)
{
Console.Write("{0,10:F2}", coltotals[col]);
}
Console.WriteLine("|{0,10:F2}", grandtotal);geresics: elnézted a topikot, ez itt C# nem C
Ú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!
- Béta iOS-t használók topikja
- Milyen program, ami...?
- Milyen billentyűzetet vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- Anglia - élmények, tapasztalatok
- Milyen légkondit a lakásba?
- Honor Magic5 Pro - kamerák bűvöletében
- Kevesebb dolgozó kell az Amazonnak, AI veszi át a rutinfeladatokat
- Allegro vélemények - tapasztalatok
- További aktív témák...
- 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
- Sony ECM-W2BT
- AKCIÓ! Csere-Beszámítás! Gainward Phantom RTX 4070Ti 12GB GDDR6X Videokártya!
- ÁRGARANCIA! Épített KomPhone Ryzen 5 9600X 32/64GB RTX 5070 12GB GAMER PC termékbeszámítással
- AKCIÓ! Gigabyte B760M i5 14600KF 32GB DDR4 512GB SSD RX 6800XT 16GB Rampage SHIVA CM 750W
- Csere-Beszámítás! Lenovo Ideapad 3 Gamer notebook.I5 10300H / 16GB DDR4 / GTX 1650 / 250SSD +500HDD
- Dell Latitude 8-11. gen i5, i7, 2-in-1 szinte minden típus csalódásmentes, jó ár, garancia
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest