Hirdetés
Új hozzászólás Aktív témák
-
joysefke
veterán
válasz
pvt.peter
#9576
üzenetére
Szinte biztos, hogy nem atomi, mint ahogyan az "i++" sem atomi, hiába fér bele egy sorba. Az if operatoros verzió amit helyettesíteni akarsz pedig garantáltan nem atomi.
Kérdés, hogy miért van szükséged atomi műveletekre? Az atomi műveleteket biztosító C# osztályt egyébként itt találod: Interlocked Class (System.Threading) | Microsoft Docs
Miért nem használasz egy "shared nothing" megközelítést ahol az adott konkurens metódusaid semmilyen közösen használt változót/adatot nem használnak? Vagy miért nem lockolsz valamilyen szemafor konstrukcióval a kritkus kódon (kritkus kód == írás művelet bármilyen közös változón)
SZERK
ezt dobta a kereső:
What are Atomic operations and what are not?
In C# Specification, the stamement about atomic operation is:
“Reads and writes of the following data types shall be atomic: bool, char, byte, sbyte, short, ushort, uint, int, float, and reference types.” Also: “…there is no guarantee of atomic read-modify-write, such as in the case of increment or decrement.”.
a ??= operator szerintem a read-modify-write kategóriába esik... -
bandi0000
nagyúr
-
válasz
pvt.peter
#7570
üzenetére
Sziasztok,
Ma olyat láttam, hogy nem hittem el!
Streamwriter-rel ki akartam írni egy fájlba 304 sort.
Beírtam, hogy Writeline, meg a paramétereket, azt kiír a fájlba 284-et. Abból is utolsó sor csak félig szerepel.
Gondoltam valamit én adtam meg rosszul, így a sorokat kiírattam konzolra, ahova viszont kiírta az összes sort.Most akkor hogy van ez: Mégiscsak én rontok el valamit?
-
Kommy
veterán
válasz
pvt.peter
#7055
üzenetére
Erre gondolsz?
System.Data.ConstraintException occurred
HResult=-2146232022
Message=A korlátozások érvényesítése sikertelen. Egy vagy több sor megsérti a nem NULL értékre, az egyediségre vagy az idegen kulcsra vonatkozó korlátozásokat.
Source=System.Data
StackTrace:
a következő helyen: System.Data.DataSet.EnableConstraints()
a következő helyen: System.Data.DataSet.set_EnforceConstraints(Boolean value)
a következő helyen: System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
a következő helyen: System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
a következő helyen: System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
a következő helyen: System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
a következő helyen: BMX.DesignatedTableAdapters.DataTable1TableAdapter.Fill(DataTable1DataTable dataTable, Nullable`1 EventID) hely: \\psf\home\Dropbox\BMX_fejlesztes\BMX\BMX\Designated.Designer.cs, sor: 1338
a következő helyen: BMX.Designate.Form2_Load(Object sender, EventArgs e) hely: \\psf\home\Dropbox\BMX_fejlesztes\BMX\BMX\Designate.cs, sor: 24
InnerException:Igazából én a report-nak 1 változót adok át amikor meghívom semmi mást, a többi az belül történik egy SQL lekérdezésből csinál egy táblázatot.
-
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.
-
Ú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!
- DELL latitude 5410 Tartós Üzleti Laptop 14" -70% i5-10210U 4Mag 8Gb 256GB SSD FHD IPS
- DELL latitude 5410 Tartós Üzleti Laptop 14" -70% i5-8365U 4Mag 8Gb 256GB SSD FHD IPS
- Apple iPhone 13 Pro Max 128GB,Újszerű,Dobozával,12 hónap garanciával
- Apple iPhone 14 128GB,Újszerű,Dobozával,12 hónap garanciával
- Samsung Galaxy Tab S6 Lite 64GB,Átlagos,Dobozával,12 hónap garanciával
- TELJES KÖRŰ IT BESZERZÉS
- AKCIÓ! Lenovo Legion Slim 5 Gamer notebook - R7 7435HS 16GB RAM 1TB SSD RTX 4070 8GB GDDR6 WIN11
- LG UltraGear Gaming Monitorok : BLACK NOVEMBER -30%
- BESZÁMÍTÁS! Asus Z790 i9 14900K 32GB DDR4 1TB SSD RTX 2080Ti 11GB Montech Air 1000 Lite 700W
- Samsung Galaxy A56 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest






