De foarte multe ori am citit prin diverse locuri de pe Internet, in bloguri, stiri, siteuri de securitate, diverse sfaturi legate de combinarea vietii online cu cea offline si publicarea detaliilor vietii offline – sau real life, cum o numesc unii – in online. De cate ori am citit sfaturi de genul: nu scrie pe blog ca pleci de acasa 2 saptamani, nu pune poze jenante, nu iti publica numarul de telefon/adresa/contul/etc, ai grija ce scrii in profilul tau, nu pune filmul in care stateai pe “tron” pe youtube etc m-am amuzat si nu am dat prea mare atentie sfaturilor respective, tratandu-le mai mult ca literatura de birou – ceea ce citim cand ne plictisim la birou. Am inceput sa ma gandesc la tot ceea ce am citit legat de asta acum, cand am patit-o, oarecum, prin publicarea anumitor detalii despre viata mea privata.
Dar despre ce e vorba:
Continue reading
Despre Windows Phone 7
Acum ceva timp am inceput o serie de articole despre Windows Phone 7. De atunci, dispozitivul meu, HTC Mozart, inca asteapta deployment-ul pentru prima aplicatie dezvoltata.
this
Cuvantul cheie this este folosit pentru a referi instanta curenta a clasei pentru metoda apelata. El poate accesa membri din constructor, metode de instanta sau proprietati ale obiectului.
Cu ce ma mai ocup…
In ultima perioada am cam neglijat acest blog si nu imi prea convine asta. Incet, incet o sa incerc sa recuperez! Am avut, oarecum, si un motiv pentru asta: in ultima perioada am inceput sa ma joc putin de-a MAC OS si de-a platformele mobile, asa ca asta mi a ocupat cam tot timpul.
Vreau sa imi dau cu parerea, dupa aproximativ o luna de utilizare, despre MAC OS snow leopard 10 (parca), parere din puctul de vedere al unui om obisnuit, as putea spune de o viata, cu OS-uri Microsoft.
Ce imi place la MAC: hardware cu un design fain, simplu, de dimensiuni mici. Eu am un MAC mini care arata asa:
Continue reading
Object initializer
Acest articol este dedicat unei functionalitati din versiunea 3.0 a limbajului C# si anume, object initializer. Vom examina modul cum se initializau obiectele pana la aparitia acestei caracteristici si cat de utila este in programare.
Continue reading
O surpriza placuta de la IE9
Am instalat astazi IE9. Trebuie sa recunosc, dupa experienta IE8, ca nu prea imi venea sa apas pe butonul de Update atunci cand windowsul meu m-a intrebat daca vreau sa imi upgradez IE-ul la versiunea 9. Cand vine vorba de navigare pe internet eu prefer FF (sau, mai rar, chrome). Si asta din cauza diverselor probleme pe care IE le-a avut de-a lungul timpului. Pe scurt, din puctul meu de vedere IE, pana la versiunea 8, inclusiv, nu prea era demn de titlul de “browser”, si, cred, toata lumea a simtit ca sunt niste probleme cu el.
Insa… astazi am avut o surpriza. Am instalat IE9 si am observat ca ceva s-a schimbat. Am simtit ca browserul incarca mai usor paginile, ca totul se misca altfel, ca nu existau scurte momente de asteptare in modul de functionare al IE-ului in momentul in care pagina era incarcata, randarea s-a facut parca mai rapid, paginile aratau mai bine – am eu cateva siteuri pe care le folosesc si care aratau groaznic in IE8. Trecerea intre taburi mi s-a parut imbunatatita, fiecare tab, in windows 7, apare in taskbar ca aplicatie distincta, astfel navigarea intre taburi se poate face foarte usor.
Tratarea exceptiilor in C#
Atunci cand programam este aproape imposibil sa nu primim erori: de sintaxa (abatere de la sintaxa limbajului de programare), de logica (greseli in logica programului) sau erori la executie (exceptii).
O exceptie reprezinta o eroare care intervine la runtime, la momentul executiei. In C#, exceptiile se pot trata intr-o maniera structurata si controlata, acest lucru insemanand faptul ca programatorul nu trebuie sa mai verifice manual daca o operatie se executa sau nu cu succes.
C# defineste exceptii standard pentru tipurile de erori obisnuite dintr-un program. De exemplu: impartire la zero, depasirea capacitatii unui vector, memorie insuficienta, etc.
c.m.m.d.c.
Sa se determine c.m.m.d.c. a doua numere naturale
Varianta 1:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _12 // Sa se determine c.m.m.d.c. a doua numere naturale. (varianta 1) { class Program { static void Main() { int nr1, nr2, n, m; Console.Write("Introduceti primul numar: "); nr1 = int.Parse(Console.ReadLine()); Console.Write("Introduceti al doilea numar: "); nr2 = int.Parse(Console.ReadLine()); n = nr1; m = nr2; while (nr1 != nr2) if (nr1 > nr2) nr1 -=nr2; else nr2 -= nr1; Console.WriteLine("c.m.m.d.c. ({0},{1}) = {2}", n,m,nr1); Console.ReadLine(); } } }
Suma cifre
Calculati suma cifrelor unui numar natural dot cu maximum 9 cifre.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _10 { class Program { static void Main(string[] args) { int n, m, suma = 0; Console.Write("Dati un numar de maxim 9 cifre : "); n = int.Parse(Console.ReadLine()); m = n; while (m != 0) { suma += m % 10; m /= 10; // m = m / 10; } Console.WriteLine("Suma cifrelor lui {0} este {1}", n, suma); Console.ReadLine(); } } }
Analiza Programului
– Pe prima linie sunt declarate variabilele m si n de tip intreg si variabila s, in care vom calcula suma cifrelor lui n (observam initializarea acesteia de la declarare cu 0, deoarece insumarea cifrelor se va face pornind de la 0);
– Citirea de la tastatura numarului n;
– Lui m i se atribuie variabila n, pentru a nu pierde valoarea n; aceasta este o tehnica utilizata intotdeauna cand avem de modificat valoarea retinuta de o variabila, insa nu dorim sa pierdem valoarea initiala. Daca nu am folosi atribuirea m=n, am impartit variabila n la 10 pana cand valoarea acesteia ar deveni 0 si evident nu am mai sti care a fost valoarea initiala. Utilizand insa atribuirea m=n, valoarea lui n ramane nealterata.
– Urmeaza o instructiune while care contine doua instructiuni de atribuire compusa (in prima se adauga la s ultima cifra a lui m, iar in a doua se trunchiaza m de ultima cifra); aceste instructiuni se repeta pana cand m va avea valoarea 0 ;
– Se afiseaza rezultatul folosind o functie Console.WriteLine(); se vor afisa valorile retinute de variabilele n si s.
Namespaces (III)
In articolele Namespace-uri in programarea .Net I si Namespace-uri in programarea .Net II am facut o introducere a ceea ce inseamna un spatiu de nume, la ce foloseste si scurte prezentari asupra celor mai folosite spatii de nume din platforma .Net. In acest articol voi prezenta scenarii in care se poate afla un programator atunci cand foloseste un namespace.
Continue reading