Blog
reference vs. value types, and LINQ
One of the people I work with was having some trouble with reference vs. value types (in C#) this week.
This article seems to give a pretty clear explanation of how these things work. Always good to have a little refresher on the fundamentals.
And, in poking around on this guy's web site, I found
LINQPad, a tool for executing LINQ queries. I have to admit that I haven't had any time to play around with LINQ at all, but I'm really curious about it. I like his idea of trying to do all your ad-hoc SQL queries in LINQ for a week, to force yourself to start getting used to it. Some of the stuff I'm doing this week is requiring me to do a *lot* of ad-hoc SQL, though. My brain is so completely wired for T-SQL at this point that I think I'd get really frustrated really quickly trying to use anything else.
Labels: csharp, programming, SQL
computer books
I just finished
ASP.NET 2.0: A Developer's Notebook. Looking back through old posts, it appears that I've been working my way through this one for quite a while now. Oh well. The next book in my stack is
Expert C# Business Objects which, according to Amazon, I bought on Sept 20, 2005. So I guess it's about time to crack it open, right? Of course the
C# 2005 version is out now. I'd like to read that one instead, but I don't want to just toss out a $60 computer book. I guess I'll start reading the one I've got, then maybe think about "upgrading" to the new one if it's really interesting.
Labels: asp.net, csharp
New version of
#develop out today. I couldn't believe how nice this was when I first starting playing around with it. Open source stuff usually isn't this good. I've switched over to
Visual Studio for the C# stuff we do at work, but I never wouldn't really gotten started with C# without #develop.
Labels: csharp
I think I've finally finished converting my little calculator program from C++ to C#. The last stumbling block was figuring out how to substitute standard input with the contents of a string that had been passed on the command-line. The answer was to declare a TextReader object, then assign it to Console.In when I wanted to read from the console, or a StringReader object when I wanted to read from a string. Easy! (Once you've figured out that there's such a thing as a StringReader object, and that it's interchangeable with Console.In.)
Labels: csharp
I figured out how to create (and use) a hashtable of delegates in C# today! Yay!
This article was helpful. A bit more work, and I'll be done rewriting my C++ calculator program in C#.
Labels: csharp
I made a little progress on my pet C# project tonight. It's a little command-line calculator that I'm converting from C++. It now adds, subtracts, multiplies, and divides! Next, I need to reimplement the function handling (square root, cos, tan, etc). That's going to be interesting, since I was using function pointers for that, and now I'm going to have to figure out delegates, since C# has no function pointers.
Labels: csharp
I now have three O'Reilly books on .Net that I need to read:
.NET Framework Essentials,
Programming C#, and
ASP.NET in a Nutshell.
Hopefully, I can make it through enough of this stuff to get to the point that I can do some useful work with C# and ASP.NET!
Labels: csharp
Mr. Productivity
I just spent the last 2 hours working on converting an old C++ program to C#. I sorta like C#, but this particular program used every part of C++ that C# trashed or changed drastically: function pointers, unions, friend classes, oddball stream handling, and other stuff like that. That's good, of course, since the whole point of this exercise is to learn C#. Actually, I haven't used C++ in so long, I don't remember what some of the fancy stuff in this program is doing anyway.
Labels: csharp
© 2008 Andrew Huey