Edukien aurkibidea[Ezkutatu][Erakutsi]
- 1. Zer da zehazki C#?
- 2. Zerk bereizten du C# eta C?
- 3. Zer da zehazki klase bat?
- 4. Zer da zehazki objektu bat?
- 5. Zein da estatiko, publiko eta hutsune terminoen arteko bereizketa?
- 6. Eraikitzaileak definitu.
- 7. Zer da C# zabor bilketan?
- 8. Zer esan nahi du zehazki egiturak C#-n?
- 9. Nola konpilatzen da C# kodea?
- 10. Deskribatu argi eta garbi C# klase desberdinak.
- 11. Zer dira zehazki Jagged Array?
- 12. Zein da out eta ref parametroen arteko bereizketa?
- 13. C#-n, zer da suntsitzailea?
- 14. C#-n, zer da indexatzailea?
- 15. Zein da kudeatutako eta kudeatu gabeko kodearen arteko aldea?
- 16. Serializazioa deskribatu.
- 17. C#-n, nola aldatzen dira eremuak eta propietateak bata bestearengandik?
- 18. Nola deskriba dezakezu zehatz-mehatz C#-ko adierazpenak erabiltzea?
- 19. Nola inplementatuko zenituzke metodo izen bera duten interfaze ugari klase berean?
- 20. C#-n, zer bereizten da Task eta Thread-en artean?
- 21. Zein da finalize funtzioa C#-n?
- 22. Egin bereizketa finalizatu blokeak eta finalize.
- 23. Deskribatu zehatz-mehatz C# disposad metodoa.
- 24. Zer da C# metodoaren gainkargatzea? Argitu.
- 25. Zein da irakurtzeko soilik eta konstanteen arteko bereizketa?
- 26. Zer dira Erabiltzaileen Kontrola eta Kontrol pertsonalizatua?
- 27. C#-n, zer da multicast delegatu bat?
- 28. Zer da zehazki objektuen bilketa C#-n?
- 29. Zer dira zehazki C#.NET-en generikoak?
- 30. Bideragarria al da metodo birtual pribatu bat gainidaztea?
- 31. Metodo gainkargatzea eta metodoa gainidaztea C#-n bereiztea?
- 32. C#-n, zein da String eta StringBuilder-en arteko bereizketa?
- 33. Zer dira zehazki ordezkariak?
- 34. Noiz erabili behar duzu multithreading C#-n eta noiz saihestu behar duzu?
- 35. C#-n, zer da multicast delegatu bat?
- 36. C#-n, zer bereizten da lotura berantiarra eta lotura goiztiarraren artean?
- 37. Directcast eta Ctype artean desberdindu?
- 38. Nola erabiltzen da HashSet C#-n?
- 39. Mesedez, azaldu hariak C#-n.
- 40. Zein da C#-n Const eta ReadOnly gako-hitzen arteko bereizketa?
- 41. Zein xehetasun eman ditzakezu C# XSD fitxategiari buruz?
- 42. Zer esan nahi dute Zuretzat Lortu eta Ezarri Sarbidearen propietateek?
- 43. Zer da zehazki mendekotasun-injekzioa C#-n?
- Ondorioa
C# (lehen C sharp izenez ezagutzen dena) objektuetara zuzendutako programazio-lengoaia da, garatzaileek maiz erabiltzen dutena hainbat jarduera egiteko eta hainbat helburu lortzeko.
Objektuetara zuzendutako programazio-lengoaiak, hala nola C++, Python eta Java, hainbat zapore dituzte. Programazio-lengoaia hauek esparru jakin baten barruan funtzionatzeko diseinatuta daude. Era berean, C# esparru zehatz baterako sortu eta garatzen da, hots, NET.
.NET framework-ek sortu zuen Microsoft. Aplikazioak, deklarazioak, aplikazioen argibideak eta abar garatzeko plataforma zabala eskaintzen du. C# web garapenerako, jokoetarako, mobile apps, Windows aplikazioak eta antzeko beste proiektu batzuk.
Abantaila horiekin, C# erabilera hedatu egin da, eta zehaztasunez erabil dezaketen espezialisten beharra bikoiztu egin da. C# oso ezaguna delako programazio hizkuntza, enpresa handi eta txiki ugarik bertan oinarritzen dira beren produktuak.
Beraz, landu oinarrizko eta maila aurreratuko C# galderak elkarrizketak lortzeko.
1. Zer da zehazki C#?
Microsoft C# helburu orokor eta garaikidea da. objektuetara bideratutako programazioa hizkuntza. C# Common Language Azpiegiturarako (CLI) pentsatuta dago, kode exekutagarria eta exekuzio-ingurune bat biltzen dituena, goi-mailako lengoaia ugari erabiltzea hainbat ordenagailu-sistema eta arkitekturatan.
2. Zerk bereizten du C# eta C?
C prozedurazko lengoaia bezala ezagutzen da normalean, eta C# objektuetara bideratuagoa da. Bereizketa nagusia da C#-k zabor-bilketa automatizatua ahalbidetzen duela Common Language Runtime (CLR) bidez, C-k, berriz, ez. C#-k .NET markoa exekutatzeko eskatzen du, C, berriz, plataformatik independentea den hizkuntza bat da.
3. Zer da zehazki klase bat?
Klase batek objektuak eraikitzeko txantiloi gisa balio du. Teknikekin batera, ezaugarriak ditu. Klase bakar batetik, objektu baten hainbat instantzia sor ditzakegu.
4. Zer da zehazki objektu bat?
Objektu gisa ezagutzen den klase-instantzia bat klase baten funtzionalitateetara nola atzitzen dugun da. Objektu bat eraikitzeko, "berria" gako-hitza erabil dezakegu. Memorian objektu bat sortzen duen klase baten funtzioak, datu-kideak eta portaera gordetzen dira.
5. Zein da estatiko, publiko eta hutsune terminoen arteko bereizketa?
Programako edozein tokitan publikoki definitutako aldagaiak sar daitezke. Aldagai estatikoak globalki atzi daitezke klase-instantzia bat eraikitzeko beharrik gabe. C#-n, Void izeneko mota modifikatzailea erabiltzen da metodo baten itzulera mota adierazteko.
6. Eraikitzaileak definitu.
Eraikitzailea klaseko berariazko kide funtzio bat da. Objektu bat eratzen denean, eraikitzaileari automatikoki deitzen zaio. Klaseak datu-kideen balio guztiak eraikitzen ditu hasieratzen den heinean.
7. Zer da C# zabor bilketan?
Nahi ez diren elementuek okupatutako memoria garbitzeko prozesuari zabor bilketa deritzo. Memoria-kopuru bat automatikoki esleitzen zaio klase-objektu bati, pila-memorian sortzen denean. Elementua lantzen amaitu duzunean, lehen hartzen zuen memoria-espazioa alferrik galdu egiten da. Memoria askatu behar da.
8. Zer esan nahi du zehazki egiturak C#-n?
C#-n, egitura bat datu-mota ugariz osatuta dagoen datu-mota da, hala nola, metodoak, eremuak, eraikitzaileak, konstanteak, propietateak, indexatzaileak, operadoreak eta baita beste egitura batzuk ere. Egitura batek datu mota asko unitate bakar batean finkatzen laguntzen du. Modu honetan, ikastaroen antzekoak dira. Egiturak balio motak dira, klaseak, berriz, erreferentzia motak.
9. Nola konpilatzen da C# kodea?
Proiektu bat sortzen denean, C# iturburu-kodea Bitarteko Hizkuntzan (IL) konpilatzen da. IL makina-kodea sortzen duen instrukzio-bilduma da, makina-prozesadore batean exekutatzeko. Kodea aurreprozesadoretik konpilatzailera bidaltzen da, gero mihiztatzailera eta azkenik lokailura lau fasetan.
10. Deskribatu argi eta garbi C# klase desberdinak.
- Estatikoa: instantziatu ezin den klase mota da, beraz, ezin dugu gako-hitz berria erabili horren objektu bat egiteko, baina klaseko kideei zuzenean dei diezaieke bere klase izena erabiliz.
- Laburpena: klase abstraktuak definitzeko, erabili gako-hitza abstraktua. Ezin da objekturik sortu klase abstraktuetarako. Erabili nahi baduzu azpiklase batean heredatu behar da. Abstraktu klase baten barruan metodo abstraktuen eta ez-abstraktuen definizio sinpleak onartzen dira.
- Partziala: klase honek zure propietateak, metodoak eta gertaerak hainbat iturburu-fitxategitan bereizteko aukera ematen dizu, eta gero klase bakarrean konbinatzen dira eraikitze-unean.
- Zigilatua: Zigilatutako klase bat ezin da beste klase batetik heredatu eta ezaugarri mugatuak ditu. Sarbide-modifikatzaileak ezin dira gehitu klase zigilatuari.
11. Zer dira zehazki Jagged Array?
Array-elementuak dituen array bat jagged array deitzen zaio. Jagged Arrays-en elementuak forma eta tamaina askotakoak izan daitezke.
12. Zein da out eta ref parametroen arteko bereizketa?
Argumentu bat erref gisa ematean, parametroa hasieratu behar da metodora pasatu aurretik. Out parametro bat, aldiz, ez da hasieratu behar metodo bati eman aurretik.
13. C#-n, zer da suntsitzailea?
Suntsitzailea C#-ko metodo mota bat da, klase baten parte dena. Destruktore baten funtzio nagusia klase baten instantziak ezabatzea da, beharrezkoak ez direnean memoria askatzeko. Destruktoreak finalizatzaile gisa ezagutzen dira batzuetan.
14. C#-n, zer da indexatzailea?
Indizeak C#-n erabiltzen dira klase edo egitura baten instantziak aurkitzeko. Beraz, indexatutako balioak array baten antzera atzi daitezke, baina mota edo instantzia kide bat esplizituki deklaratu beharrik gabe.
15. Zein da kudeatutako eta kudeatu gabeko kodearen arteko aldea?
Kode kudeatuak.NET esparruan kodea exekuta dezakezu CLR exekuzio-ingurune kudeatutako ingurune batean.
Kode kontrolatua sistema eragilean baino exekuzio-denbora kudeatutako ingurunean exekutatzen da. Hainbat zerbitzu eskaintzen ditu, hala nola zabor-biltzailea, salbuespenen kudeaketa eta abar.
Kudeatu gabeko kodea CLRn exekutatzen ez den kodea da eta.NET esparrutik kanpo funtzionatzen du. Ez dute goi-mailako hizkuntza-zerbitzurik eskaintzen eta, beraz, horiek gabe funtzionatzen dute. C++ adibide bat da.
16. Serializazioa deskribatu.
Elementutik byte-jario bat sortu behar da sare batean transferitzeko. Serializazioa elementu bat byte-korronte batean bihurtzeko ekintza da. Serializatu Interfazea inplementatu behar da elementu bat serializagarria izan dadin. Byte-korronte batetik objektu bat eraikitzearen aurkakoari deserializazioa deitzen zaio.
17. C#-n, nola aldatzen dira eremuak eta propietateak bata bestearengandik?
Eremu bat datuak gordetzeko kokapen gisa balio duen klaseko kide edo edozein motatako objektu bat da, eta jabetza eremu pribatu baten balioa irakurtzeko, idazteko eta kalkulatzeko metodo bat eskaintzen duen klaseko kidea da.
18. Nola deskriba dezakezu zehatz-mehatz C#-ko adierazpenak erabiltzea?
Use adierazpena aplikazioaren barruan baliabide bat edo gehiagoren erabilera mugatzeko erabiltzen da. Baliabideak etengabe kontsumitzen eta askatzen dira.
Adierazpen honen zeregin nagusia nahi ez diren baliabideak kudeatzea eta automatikoki askatzea da. Baliabidea erabiltzen ari den objektua eratuta dagoenean, ziurtatu objektuaren bota funtzioari deitzen zaiola objektu horrek behar dituen baliabideak askatzeko; hemen adierazpenak erabiltzea komenigarria da.
19. Nola inplementatuko zenituzke metodo izen bera duten interfaze ugari klase berean?
Metodo izen bera duten hainbat interfaze ezartzeko, saihestu funtzioaren gorputzean ezartzea. Horren ordez, interfazearen izena zuzenean metodoaren gorputzean emango zenuke. Konpilatzaileak zein interfaze-metodo aipatzen diren ezagutuko du, arazoari aurre eginez.
20. C#-n, zer bereizten da Task eta Thread-en artean?
Hari bat benetako Sistema Eragilearen haria da, bere pila eta nukleo baliabideak dituena. Thread-ek kontrol gehien ematen du. Hariari esker, bertan behera utzi (), eten () edo berrekin (). Hari baten egoera ikus daiteke edo bere atributuak, hala nola pila-tamaina, apartamentu-egoera eta kultura, ezarri daitezke. CLR-k ThreadPool-ek bildutako hari multzo bat gordetzen du.
Task Parallel Library-k Task izeneko klasea du. ThreadPool-ek ez bezala, Zereginak ez du bere sistema eragilearen haria. Zereginak TaskScheduler-ek exekutatzen ditu, nahiz eta programatzaile lehenetsia ThreadPool-ek exekutatzen duen. Zeregin bat amaitzen denean jakinarazpena jaso eta emaitza bat lortzeko aukera dago.
21. Zein da finalize funtzioa C#-n?
Garbiketa ekintzetarako erabiltzen den objektu klaseak finalize () funtzioa definitzen du. Objektu baten erreferentzia denbora-tarte luze batean erabiltzen ez denean, zabor-biltzaileak sarritan deituko dio funtzio honi.
Zabor-biltzaileak automatikoki askatzen ditu kontrolatutako baliabideak, baina beharrezkoak ez diren baliabideak askatu nahi badituzu, hala nola fitxategien heldulekuak, datu-konexioak eta abar, espresuki inplementatu behar duzu finalize funtzioa.
22. Egin bereizketa finalizatu blokeak eta finalize.
Amaitutako blokeari try-and-catch blokeak osatu ondoren deitzen da, salbuespenak kudeatzeko beharrezkoa baita. Kode blokea exekutatzen da salbuespena harrapatu den ala ez. Blokearen kodea, oro har, garbiagoa da.
Finalize metodoa zabor bilketa baino lehen deitzen da. Amaitutako metodoaren ardura nagusiak kudeatu gabeko kodea garbitzea dira, automatikoki abiarazten dena instantzia bat berriro deitzen ez den bakoitzean.
23. Deskribatu zehatz-mehatz C# disposad metodoa.
disposeof() funtzioak objektu baten erabili gabeko baliabideak askatzen ditu. Erabiltzen ez diren baliabideak, hala nola, fitxategiak, datu-konexioak eta abar. Funtzio hau IDisposable interfazean zehazten da, klaseak inplementatzen duen interfazearen IDisposable gorputza deklaratuz.
Disposatzeko funtzioa ez da automatikoki deitzen; programatzaileak eskuz inplementatu behar du baliabideak eraginkortasunez erabiltzeko.
24. Zer da C# metodoaren gainkargatzea? Argitu.
Metodoen gainkarga C#-n ohiko metodo bat da, izen bereko eta zehaztutako sinadurak dituzten metodo batzuk eraikitzeko erabiltzen dena. Prozedura hau klase berdinarekin errepikatzen da.
Metodoa gainkargatzeko prozedura amaitzen denean, konpilatzaileak metodoaren gainkargan oinarrituta zehaztutako ekintzak deitzeko eragiketak hasten ditu.
25. Zein da irakurtzeko soilik eta konstanteen arteko bereizketa?
Aldagai konstanteak konpilatzean deklaratu eta hasieratzen dira. Ondoren, balio hori ezin da aldatu. Bestalde, exekuzio garaian balio bat esleitu ondoren irakurtzeko soilik erabiltzen da.
26. Zer dira Erabiltzaileen Kontrola eta Kontrol pertsonalizatua?
Konpilatutako kodea kontrol pertsonalizatuak garatzeko erabiltzen da. Hauek tresna-kutxan sar daitezke eta erabiltzeko errazak dira. Kontrol hauek arrastatu eta jareginez, garatzaileek beren web-inprimakietan sar ditzakete.
Erabiltzaileen kontrolak eta ASP barneko fitxategiak nahiko antzekoak dira. Egiteko errazak ere badira. Erabiltzaileen kontrolak, berriz, ezin dira tresna-kutxan gehitu. Gainera, ezin dira bertatik atera eta bota.
27. C#-n, zer da multicast delegatu bat?
Multicast delegatu batek hainbat funtzioren erreferentziak edo helbideak mantentzen ditu aldi berean. Multicast delegatuari dei egiten diogunean, aipatzen dituen gainerako funtzio guztiak ere deituko ditu. Hainbat metodo deitzeko, erabili metodoaren sinadura osoa, ordezkariak bezala. Adibide gisa:
28. Zer da zehazki objektuen bilketa C#-n?
Objektuen bilketa softwarearen diseinu-teknika bat da, gauzak berreraiki beharrean birziklatzen dituena. Hau lortzen du aukeratutako elementuak igerileku batean gordez eta aplikazio batek eskatzen dituenean erabiltzeko erabilgarri jarriz. Prozedura honek errendimendua hobetzen du alferrikako objektuen sorrera murriztuz.
29. Zer dira zehazki C#.NET-en generikoak?
Genericak kode-klase berrerabilgarriak sortzeko erabiltzen dira, kodearen erredundantzia murrizteko, motaren segurtasuna hobetzeko eta abiadura hobetzeko. Generikoekin bilduma klaseak eraiki ditzakegu.
Sisteman, izen-espazio generiko bat erabili behar da ArrayList bezalako klaseen ordez. Bildumetarako izen-gunea. Parametrizatutako motak erabiltzea sustatzen dute generikoek.
30. Bideragarria al da metodo birtual pribatu bat gainidaztea?
Metodo birtual pribatu bat ezin da baliogabetu klaserako pribatua baita eta ezin baita bertatik kanpo atzitu.
31. Metodo gainkargatzea eta metodoa gainidaztea C#-n bereiztea?
Metodoa gainidaztea klase deribatu baten oinarrizko definizioa aldatzeko prozesua da. Eratorritako klasearen metodoek, azkenean, desberdin portaera dute estrategia honen ondorioz.
Metodoen gainkarga, bestalde, klase beraren azpian izen bereko baina sinadura ezberdinekin metodo asko sortzearen ekintza gisa deskriba daiteke.
32. C#-n, zein da String eta StringBuilder-en arteko bereizketa?
Kate-objektu bat aldaezina da, hau da, ezin da aldatu sortu ondoren. Kate-objektua aldatzeko edozein saiakerak kate-objektu berri bat sortuko du.
Kate-eraikitzaile-objektu bat, berriz, moldagarria da eta garatzaileak egoki ikusten duen moduan alda daiteke.
33. Zer dira zehazki ordezkariak?
C++-n, ordezkariak funtsean funtzio erakusleen berdinak dira. Bien arteko bereizketa bakarra delegatuak mota seguruak direla da, funtzio erakusleak ez. Ordezkariak beharrezkoak dira, mota seguruko funtzio generikoak eraikitzea ahalbidetzen dutelako.
34. Noiz erabili behar duzu multithreading C#-n eta noiz saihestu behar duzu?
Multithreading, askotan hari gisa ezagutzen dena, jarduera ugari aldi berean exekutatzen diren programa baten abiadura areagotzeko ikuspegi eraginkorra da. Hainbat hari modu independentean exekutatzeko aukera ematen du, aurreko urratsa amaitu arte itxaron beharrean. Honek programa baten erritmoa areagotzeko gaitasuna du.
Hala ere, programaren hainbat prozesu elkarren artean konektatzen direnean, ez da gomendagarria multithreading. Esate baterako, B urratsa A urratsa lehenengo burutzearen menpe egongo balitz, multithreading-ak errendimendu kezkak eta software akatsak eragingo lituzke. Threading gero eta sentikorragoa da programa bat konplexutasunean garatzen den heinean.
35. C#-n, zer da multicast delegatu bat?
C#-n multicast delegatu batek, oinarrizko delegatu baten aldean, helburu-metodo ugari aipatzen ditu. Multicast delegatu bat erabiltzen denean, ordezkariak adierazitako funtzio guztiak deitzen dira. Sistemaren MulticastDelegate klasearen laguntzaz inplementatzen dira.
36. C#-n, zer bereizten da lotura berantiarra eta lotura goiztiarraren artean?
- Lotura goiztiarra konpilazio garaian egiten da, eta lotura berantiarra, berriz, exekuzioan.
- Lotura berantiarra sarritan lotze goiztiarra baino motelagoa da, exekuzioan gertatzen baita.
- Lotura berantiarrarekin, objektua metodo-deiak ebazteko erabiltzen duenaren aldean, lotura goiztiarrak metodo-deiak ebazten ditu klase informazioa erabiliz.
37. Directcast eta Ctype artean desberdindu?
DirectCast-en zehaztutako motarekin bat etortzeko exekuzio-denbora mota behar duen objektu mota DirectCast erabiliz bihurtzen da.
Adierazpen baten eta mota baten artean bihurketa bat zehazten denean, Ctype erabiltzen da.
38. Nola erabiltzen da HashSet C#-n?
C#-n, HashSet bat balio desberdinen ordenatu gabeko bilduma bat da. Oro har, elementu bikoiztuak bilduma batean txerta ez daitezen erabiltzen da, eta zeregin horretan zerrenda batek baino hobeto funtzionatzen du.
Sistemaren ondorengoa den HashSet klasea erabiltzen da inplementatzeko.
39. Mesedez, azaldu hariak C#-n.
C#-n, hari multzoa hari bilduma bat da. Hari hauek zereginak egiteko erabiltzen dira hari nagusiaren funtzionaltasuna oztopatu gabe. Hari multzo bateko hari bat exekutatzen amaitzean hari multzora itzultzen da.
System klaseak hari multzoko haria eta bere ekintzak kudeatzen dituzten klaseak ditu. Harikatzea. ThreadPool izen-espazio bat da.
40. Zein da C#-n Const eta ReadOnly gako-hitzen arteko bereizketa?
- ReadOnly ezin da metodoaren barruan deklaratu, Const, berriz.
- Const konpilazio-denborako konstante bat da, ReadOnly, berriz, exekuzio-denborako konstantea.
- ReadOnly balioak alda daitezke, baina Const balioak ezin.
41. Zein xehetasun eman ditzakezu C# XSD fitxategiari buruz?
XSD XML Schema Definition esan nahi du. XML fitxategiarekin XSD fitxategirik ez badago konektatuta, edozein atributu, elementu eta etiketa izan ditzake. XSD fitxategiak XML fitxategirako esparru bat eskaintzen du, XML fitxategian zein osagai eta atributu egon behar duten zehaztuz baita haien ordena ere.
42. Zer esan nahi dute Zuretzat Lortu eta Ezarri Sarbidearen propietateek?
C#-n, Get eta Set-ek osagarriak izendatu dituzte propietateak erabiliz egiten direnez. Propietate batek eremu pribatu baten balioa irakurtzeko eta idazteko aukera ematen du. Eremu pribatu horietara osagarrien bidez sartzen da.
Lortu propietatea propietate baten balioa itzultzeko erabiltzen den bitartean, Ezarri propietatea erabiltzen da balioa ezartzeko.
43. Zer da zehazki mendekotasun-injekzioa C#-n?
Dependency Injection (DI) C#-ko diseinu-teknika bat da, eta lotura gutxiko programazioa sortzeko erabiltzen dena. Prozedura honek menpeko objektuen sorrera eta lotura horiek oinarritzen diren klasetik kanpo transferitzen ditu. Helburu nagusia etorkizuneko kodearen aldaketak kudeagarriagoak izatea da.
Ondorioa
C# goi-mailako programazio-lengoaia guztietan erabiltzen den lehen programazio-lengoaia da. C# garatzaileek eskaera handia dute eta karrera-aukera erakargarriak aurki ditzakete aurre-end garapena, back-end programazioa eta aplikazioen garapena bezalako industrietan. Eta Microsoft-ek onartzen duenez, C# ospea haziko da.
Aipatutako hauek esperientziadun profesionalentzako eta hasiberrientzako C# elkarrizketa-galdera erabakigarrienak dira. Ikusi Hashdorken Elkarrizketa Seriea elkarrizketa prestatzen laguntzeko.
Utzi erantzun bat