Ú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!
- Megérkezett az Apple 5K-s, 120 Hz-et biztosító monitora
- Lexus, Toyota topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Okos Otthon / Smart Home
- MWC 2026: Kezünkben a minden tekintetben európai okostelefon
- Azonnali mobilos kérdések órája
- Hozd azt a cementet, báttya! Készül a Keychron billentyűzet!
- Poco F6 5G - Turbó Rudi
- Fejhallgató erősítő és DAC topik
- Napelem
- További aktív témák...
- !AKCIÓ+GARI! GAMER PC Intel Core i5-14400F/ASUS TUF Gaming B760M/RTX 4070 12GB/32 GB DDR5 5200 MHz
- Új állapotú Samsung Galaxy S23 Ultra garanciával
- Kingston FURY Beast 16GB (2x8GB) DDR4-3600 CL17
- Sapphire NITRO+ RX 6700 XT (192bit 12gb)
- Micron 32GB modulok egyben (1 x 32GB) 3200Mhz - több db elérhető!
- Owl Labs Owl Bar 4K Videokonferencia Rendszer FRS100
- LENOVO ThinkPad s3 YOGA 14",i5-5200U,8GB DDR3,256GB SSD, WIN10,TOUCH
- Apple iPhone 12 Pro 256GB, Kártyafüggetlen, 1 Év Garanciával
- Vállalom FRP Lock os telefonok javítását ingyen kiszálással és akár helyszíni javittással
- Yoga Pro 9 - RTX 5070 - 64GB - multitouch laptopok! - LENOVO GAMER BAZÁR - új lista (2026.03.03)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
