Hirdetés
- Milyen TV-t vegyek?
- Azonnali VGA-s kérdések órája
- Fejhallgató erősítő és DAC topik
- Dell notebook topic
- Hővezető paszták
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Vezetékes FÜLhallgatók
- Vezeték nélküli fülhallgatók
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Milyen asztali médialejátszót?
Ú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.TryParsevagy 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
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- BESZÁMÍTÁS! ASRock Fatal1ty Z97 Killer alaplap garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 12 Mini 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3631,94% Akkumulátor
- DOKKOLÓ BAZÁR! Lenovo, HP, DELL és egyéb más dokkolók (TELJES SZETTEK)
- Általános igazgatóhelyettes tábla üvegből eladó
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest












