Hirdetés
- Send to qBittorrent (with SavePaths): Egy apró Firefox kiegészítő qBittorrenthez
- Ikea PAX gardrób és a pokol logisztikája – egy Ikea-horror igaz története
- -TongFang- Medion Erazer Beast 16 X1 - induló teszt így kora délután..."CB R23"
- Pi-hole és a Telekom Sagemcom F@st 5670 DNS beállítása
- A Magyar Néphadsereg emlékére
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- GoodSpeed: A RAM-válság és annak lehetséges hatásai
- Magga: PLEX: multimédia az egész lakásban
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- D@reeo: Pi-hole és a Telekom Sagemcom F@st 5670 DNS beállítása
- Ketogén étrend
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- [K2]: AnyDesk átverés
Új hozzászólás Aktív témák
-
moseras
tag
válasz
kkdesign
#8751
üzenetére
Hello,
Nem teljesen tiszta, hogy mit is akarsz pontosan, valami ilyenre gondoltál ?
static int convert(List<int> l1)
{
int ret = 0;
foreach (var e in l1)
{
ret *= 10;
ret += e;
}
return ret;
}
static void Main(string[] args)
{
var szamok = new List<int>() { 0,0,1,5,7,3,0,0,1,2,3,0,0,5,8,7,4,5,0,1,2,5,8,9 };
// Az eredeti számsorozat
Console.WriteLine($"Az eredeti számsorozat: { string.Join("", szamok) }");
// A nem 0 értékű számjegyek száma
var c1 = szamok.Count(x => x != 0);
Console.WriteLine($"A nem 0 értékű számjegyek száma: { c1 }");
var temp = new List<int>();
var leghosszabb_szamok = new List<int>();
int maxx = 0;
foreach (var item in szamok)
{
if (item != 0)
{
temp.Add(item);
}
else
{
if (temp.Count > 0 && temp.Count >= maxx)
{
leghosszabb_szamok = leghosszabb_szamok.Where(n => Math.Floor(Math.Log10(n) + 1) >= maxx).ToList();
leghosszabb_szamok.Add(convert(temp));
maxx = temp.Count();
}
temp.Clear();
}
}
if (temp.Count > 0 && temp.Count >= maxx)
{
leghosszabb_szamok = leghosszabb_szamok.Where(n => Math.Floor(Math.Log10(n) + 1) >= maxx).ToList();
leghosszabb_szamok.Add(convert(temp));
}
// A leghosszabb számjegyű szám(ok)
Console.WriteLine($"A leghosszabb számjegyű szám(ok): { string.Join(", ", leghosszabb_szamok) }");
// A leghosszabb számjegyű szám(ok) jegyeinek száma
Console.WriteLine($"A leghosszabb számjegyű szám(ok) jegyeinek száma: { maxx }");
}Eredmény:
Az eredeti számsorozat: 001573001230058745012589
A nem 0 értékű számjegyek száma: 17
A leghosszabb számjegyű szám(ok): 58745, 12589
A leghosszabb számjegyű szám(ok) jegyeinek száma: 5Ha jól értem, akkor neked kellene
- az eredeti sorozat nem 0 elemeinek száma
- a leghosszab jegyű szám(ok) külön listába gyűjtve
- a leghosszab jegyű szám(ok) jegyeinek számaImi.
-
moseras
tag
válasz
RedHarlow
#8738
üzenetére
Üdv,
Egyetértek az előttem hozzászólokkal, néhány megjegyzésem lenne:
string filesdir = Path.Combine(@"C:\tmp", "files");
// Összes
Console.WriteLine("Összes");
string[] files = Directory.GetFiles(filesdir);
foreach (var item in files)
{
Console.WriteLine(item);
}
Console.WriteLine($"{files.Length} db");
// A GetFiles szűrője alapján (a GetFiles nem támogatja a Regex-et)
Console.WriteLine();
Console.WriteLine("A GetFiles szűrője alapján");
files = Directory.GetFiles(filesdir, "REF*.xml");
foreach (var item in files)
{
Console.WriteLine(item);
}
Console.WriteLine($"{files.Length} db");
// Regex-el tovább szűrve
Console.WriteLine();
Console.WriteLine("Regex-el tovább szűrve");
Regex reg = new Regex(@"REF\w+\d+\w+\.xml", RegexOptions.IgnoreCase);
var rfiles = Directory.GetFiles(filesdir, "REF*.xml")
.Where(path => reg.IsMatch(path))
.ToList();
foreach (var item in rfiles)
{
Console.WriteLine(item);
}
Console.WriteLine($"{rfiles.Count} db");Eredmény:
Összes
C:\tmp\files\1.xml
C:\tmp\files\REFblabxx00001xxxblabla.xml
C:\tmp\files\REFblabxx00002xxxblabla.xml
C:\tmp\files\REFblabxx00003xxxblabla.xml
C:\tmp\files\REFblabxx00004xxxblabla.xml
C:\tmp\files\REFblabxx00005xxxblabla.xml
C:\tmp\files\REFFFFFFFFFFFF.xml
7 db
A GetFiles szűrője alapján
C:\tmp\files\REFblabxx00001xxxblabla.xml
C:\tmp\files\REFblabxx00002xxxblabla.xml
C:\tmp\files\REFblabxx00003xxxblabla.xml
C:\tmp\files\REFblabxx00004xxxblabla.xml
C:\tmp\files\REFblabxx00005xxxblabla.xml
C:\tmp\files\REFFFFFFFFFFFF.xml
6 db
Regex-el tovább szűrve
C:\tmp\files\REFblabxx00001xxxblabla.xml
C:\tmp\files\REFblabxx00002xxxblabla.xml
C:\tmp\files\REFblabxx00003xxxblabla.xml
C:\tmp\files\REFblabxx00004xxxblabla.xml
C:\tmp\files\REFblabxx00005xxxblabla.xml
5 dbInnentől kezdve tényleg tudni kellene, hogy mit is akarunk szűrni, mert ugye a REFFFFFFFFFFFF.xml nem mindegy, hogy benne van e, vagy nincs, vagy a számok és a REF között kell e lennie még további karakternek, ha igen, milyennek, hány darabnak, stb. De szerintem innen már boldogulsz vele.
Imi.
-
moseras
tag
válasz
RedHarlow
#8731
üzenetére
Üdv!
List<string> words = new List<string> { "class", "xml", "xlsx", "teszt" };
string patt = string.Join("|", words);
Regex regex = new Regex(patt, RegexOptions.IgnoreCase);
string v = "class asdfgh 123 xml8 xls xlsx15 xml xlsx";
int appcount = regex.Matches(v).Count;
Console.WriteLine(appcount);Azt írja ki, hogy 5
-
moseras
tag
válasz
moseras
#5307
üzenetére
Sziasztok!
Akit esetleg érdekel, MySQL és EF6 async/await probléma átmeneti megoldása:
E helyett
await ctx.SaveChangesAsync();
Ezt használva
await Task.Factory.StartNew(() =>
{
ctx.SaveChanges();
});külön szálon indul el, és a UI is reszponzív marad. Hogy miért van így, azt továbbra sem értem, de a lényeg, hogy így működik.
Imi.
-
moseras
tag
válasz
martonx
#5308
üzenetére
Szia!
Úgy tudom, hogy mivel az InsertAsync async void-ként van megadva, ezért annak a hívóhoz vissza kell(ene) térnie a benne lévő await hatására (és persze az await indít egy új taszkot, aminek végeztével az await alatt folytatódik). Érdekesnek találnám, ha ez egyszer így, egyszer úgy működne. Arra is gondoltam, hogy esetleg a MySQL EF6 megvalósítása nem kerek valahol. Mivel a UI szál is teljesen lefagy a SaveChangeAsync alatt, ezért nem tudok másra gondolni, valami miatt szinkron módon ugyanabban a UI szálban fut.
Imi.
-
moseras
tag
Sziasztok!
MySQL-t használok Entity FrameWork 6-al. Működik, kivétel az async/await lehetőség, amit az EF6 elvileg tud.
Kód:
public void I2(List<data> dataList)
{
Debug.Print("I2 előtt");
InsertAsync(dataList);
Debug.Print("I2 után");
}
public async void InsertAsync(List<data> dataList)
{
using (var ctx = new adatgyujtesEntities())
{
ctx.Configuration.AutoDetectChangesEnabled = false;
ctx.Configuration.ValidateOnSaveEnabled = false;
foreach (var item in dataList)
{
ctx.data.Add(item);
}
Debug.Print("await előtt");
await ctx.SaveChangesAsync();
//await Task.Delay(4000);
Debug.Print("await után");
}
}Ha az I2-t meghívom, akkor ezt kapom:
I2 előtt
await előtt
await után
I2 utánHa az await ctx.SaveChangesAsync(); sort kikommentezem, és helyette beteszem az await Task.Delay(4000);-t, akkor pedig ezt:
I2 előtt
await előtt
I2 után
await utánTehát mint ha a SaveChangesAsync szinkron működne ? Vagy valamit félreértek ?
És még valami: a UI is akad rendesen, a SaveChangesAsync közben sem mozgatni, sem méretezni nem lehet az ablakot, de a Task.Delay közben működik a mozgatás/méretezés.
Köszi!
Imi.
-
moseras
tag
Sziasztok!
Próbálom megérteni az Entity Framework 5/MVVM light/MySQL hármast. Első körben abban kérnék segítséget, hogy miként implementáljam azt, hogy az adatbázisban változás történt, és a ViewModel-em ezt észrevegye.
Tehát nem arra gondolok, hogy a programom kívül valaki más módosítja az adatbázist, és azt vegye észre, hanem ha én módosítom, akkor azt lássam. Az DbContext-ből származó xxxEntities osztályban nem látok változás értesítő event-et. Tehát akkor nekem kell egy plusz réteget felhúzni a ViewModel és az Entities közé ?
Eddig azt hittem, hogy maga az Entities-em a Model réteg, ezek szerint nem ?
Más: ha valaki rajtam kívül futás közben módosítja a táblát, azt az Entity framework észreveszi ?
Imi.
Ú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!
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Milyen videókártyát?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Drasztikusan lassíthatja a játékokat egyes VGA-kon a Windows 11 új frissítése
- PROHARDVER! feedback: bugok, problémák, ötletek
- Szinte a semmiből robbanna be az 1,4 nm-es eljárásával a Rapidus
- Robotporszívók
- One otthoni szolgáltatások (TV, internet, telefon)
- Filmgyűjtés
- LEGO klub
- További aktív témák...
- Eladó Samsung 24" Full HD LED monitor (S24C450B)
- 2013 Late 27 iMac - 1TB HDD i5 core4 24GB RAM 2GB GTX
- Bomba ár! Toshiba Portege R930 - i5-3GEN I 4GB I 320GB I DVDRW I 13,3" HD I HDMI I Cam I W10 I Gari!
- Bomba ár! Toshiba Portege X30-E - i5-8250U I 8GB I 256SSD I 14" FHD I Cam I W11 I Garancia!
- Bomba ár! Toshiba Satellite Pro A40-D - i5-7200U I 8GB I 256SSD I 14" HD I Cam I W11 I Garancia!
- AZONNALI SZÁLLÍTÁSSAL Eladó Windows 8 / 8.1 Pro
- 129 - Lenovo Legion Pro 7 (16ARX8H) - AMD Ryzen 9 7945HX, RTX 4080 (ELKELT)
- Bomba ár! HP Probook 450 G10 - i3-1315U I 16GB I 256SSD I 15,6" FHD I W11 I Cam I Garancia!
- HIBÁTLAN iPhone 14 Pro Max 128GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3913, 100% Akkumulátor
- BESZÁMÍTÁS! LENOVO Ideapad Gaming 3 notebook - R5 5600H 16GB DDR4 256GB +1TB SSD nVidia GTX 1650 4GB
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

