- Yettel topik
- Samsung Galaxy S22 Ultra - na, kinél van toll?
- Magisk
- Mobil flották
- Egy szenzor, két zoomkamera: újraírta a Huawei a mobilfotózás történetét
- Bemutatkozott a Poco X7 és X7 Pro
- Xiaomi 11 Lite 5G NE (lisa)
- Samsung Galaxy A56 - megbízható középszerűség
- Google Pixel topik
- Samsung Galaxy A55 - új év, régi stratégia
Új hozzászólás Aktív témák
-
Peter Kiss
őstag
válasz
zuzu000 #6077 üzenetére
Ez jó eredményt ad (vagyis azt csinálja, amit akarsz)?
static Dictionary<char, int> MibőlMennyi(IEnumerable<string> szavak, ICollection<char> karakterek)
{
return szavak.SelectMany(x => x.ToCharArray())
.Where(karakterek.Contains)
.ToLookup(x => x)
.ToDictionary(x => x.Key, x => x.Count());
}Látom, nem. Legközelebb átgondoltabban kérdezzünk.
A metódus neve eleve hibás. -
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]));
-
válasz
zuzu000 #6059 üzenetére
A \0 meg érdekes, mert kipróbáltam.
string y = "abba";
y = y.Insert(1, '\0'.ToString());
Console.WriteLine(y);
"a bba"Keversz ket dolgot: a karaktert es azt, hogy a konzol hogy jeleniti meg. A \0 karakter NEM szokoz, de a konzol nem tudja megjeleniteni, ezert rak egy szokozt a helyere. Ez viszont egy implementacios kerdes.
-
Karma
félisten
válasz
zuzu000 #6056 üzenetére
"Char tömbben hogy keresem meg az első nem \0 elem indexét?
Tehát ami valamilyen karaktert jelöl, nem üres."Legegyszerűbben egy for ciklussal.
Ha általánosabban meg akarod oldani, akkor célszerű írni egy extension methodot a feladathoz. Álljon itt egy példa StackOverflowról:
public static class EnumerableExtension
{
public static int FirstIndexMatch<TItem>(this IEnumerable<TItem> items, Func<TItem,bool> matchCondition)
{
var index = 0;
foreach (var item in items)
{
if(matchCondition.Invoke(item))
{
return index;
}
index++;
}
return -1;
}
}Ezzel a metódussal a feladatod így néz ki:
var array = new [] { '\0', '\0', '\0', '4' };
Console.WriteLine(array.FirstIndexMatch(ch => ch != '\0'));"Illetve a \0 space-t jelöl?"
Nem, dehogy is. Az Unicode NULL karaktert jelöli, aminek nyolc bites testvére C-ben ugyebár a string végét jelölte, viszont C#-ban nincs ilyen jelentősége, mert a char tömb tudja magáról a saját hosszát.
"Vagyis ha ezt beillesztem egy string-be, akkor ott szóköz lesz?"
Nem. Bekerül a stringbe, foglalja a helyet, de ha kiírod, nem jelenik meg semmi.
Szerintem nem szabadna, de most csak .NET fiddle-ön tudtam kipróbálni, ott tényleg nem jelent meg semmi. Lehet, hogy konzolon máshogy megy.Az biztos, hogy a szóköz helyes jelölése: ' '
Ú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!
- Apple Ipad 10.generáció
- Új HP Pavilion x360 14-ek Érintős hajtogatós Laptop Tab 14" -35% i5-1335U 8/512 FHD IPS Iris Xe
- RTX 4080 SUPER,16GB. Ryzen 7 7800X3D, 32 RAM Fury RGB! Garancia!
- Asztali PC , i7 9700K , RX 5700 XT , 32GB DDR4 , 500GB NVME , 1TB HDD
- Dell Inspiron 5406 2-in-1i5-1135G7 16GB DDR4 3200 512GB NVME 14" FHD Érintőkijelző W11Pro
- ÁRCSÖKKENTÉS LG 24" full HD LED IPS monitor (HDMI, DSUB, jack) eladó
- Asus ROG G20AJ - Intel Core i7-4790, GTX 980
- DELL Universal Dock D6000 docking station (452-BCYH) (DisplayLink)
- ÁRGARANCIA!Épített KomPhone i9 14900KF 64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- ÁRCSÖKKENTÉS Lenovo ThinkPad P51s, P52s, T570, T580 eredeti Lenovo, belső akkumulátor eladó
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged