Click here to Skip to main content
15,889,865 members
Home / Discussions / C#
   

C#

 
GeneralRe: Cast Question Pin
Kevin Marois29-Aug-08 8:28
professionalKevin Marois29-Aug-08 8:28 
GeneralRe: Cast Question Pin
Expert Coming29-Aug-08 8:34
Expert Coming29-Aug-08 8:34 
GeneralRe: Cast Question Pin
Kevin Marois29-Aug-08 8:43
professionalKevin Marois29-Aug-08 8:43 
GeneralRe: Cast Question Pin
Expert Coming29-Aug-08 8:59
Expert Coming29-Aug-08 8:59 
GeneralRe: Cast Question Pin
Kevin Marois29-Aug-08 9:02
professionalKevin Marois29-Aug-08 9:02 
GeneralRe: Cast Question Pin
Expert Coming29-Aug-08 9:07
Expert Coming29-Aug-08 9:07 
AnswerRe: Cast Question Pin
Guffa29-Aug-08 8:29
Guffa29-Aug-08 8:29 
AnswerRe: Cast Question Pin
Scott Dorman29-Aug-08 8:45
professionalScott Dorman29-Aug-08 8:45 
Using an ArrayList means that you are using a weakly typed collection so that each element in the collection is returned as an Object, not the actual type. If you have access to the generic collections you really should use one of those, probably List<Book>. This also allows you to more easily use some of the Linq extensions (if you are using .NET Fx 3.5) which would mean your find method (and this really should be split up in to separate functions, one for searching by Id and one by name).

Your code would end up looking something like this:
List<Book> books = new List<Book>();
 
private static Book Find(int bookId) 
{
  return books.FirstOrDefault(b => b.iBookId == bookId)
}

private static Book Find(string authorName) 
{
  return books.FirstOrDefault(b => String.Compare(b.sAuthor, authorName) == 0);
}
The FirstOrDefault assumes that the list will only contain one entry or that you are interested in only the first entry, which mirrors the code you have in your example.

Scott Dorman
Microsoft® MVP - Visual C# | MCPD
President - Tampa Bay IASA

[Blog][Articles][Forum Guidelines]
Hey, hey, hey. Don't be mean. We don't have to be mean because, remember, no matter where you go, there you are. - Buckaroo Banzai

GeneralRe: Cast Question Pin
Kevin Marois29-Aug-08 8:49
professionalKevin Marois29-Aug-08 8:49 
GeneralRe: Cast Question Pin
Scott Dorman29-Aug-08 8:59
professionalScott Dorman29-Aug-08 8:59 
AnswerRe: Cast Question Pin
Mbah Dhaim29-Aug-08 13:08
Mbah Dhaim29-Aug-08 13:08 
QuestionReceiving RS232 signals through USB Pin
Calvin Wong29-Aug-08 6:46
Calvin Wong29-Aug-08 6:46 
AnswerRe: Receiving RS232 signals through USB Pin
Dan Neely29-Aug-08 7:00
Dan Neely29-Aug-08 7:00 
AnswerRe: Receiving RS232 signals through USB Pin
Joe Woodbury29-Aug-08 11:47
professionalJoe Woodbury29-Aug-08 11:47 
Questionhow to build my own Outlook? Pin
Jassim Rahma29-Aug-08 5:22
Jassim Rahma29-Aug-08 5:22 
AnswerRe: how to build my own Outlook? Pin
Kevin Marois29-Aug-08 8:02
professionalKevin Marois29-Aug-08 8:02 
AnswerRe: how to build my own Outlook? Pin
Pete O'Hanlon29-Aug-08 8:40
mvePete O'Hanlon29-Aug-08 8:40 
GeneralRe: how to build my own Outlook? Pin
Jassim Rahma29-Aug-08 10:22
Jassim Rahma29-Aug-08 10:22 
GeneralRe: how to build my own Outlook? Pin
Wendelius29-Aug-08 10:37
mentorWendelius29-Aug-08 10:37 
GeneralRe: how to build my own Outlook? Pin
Pete O'Hanlon30-Aug-08 11:14
mvePete O'Hanlon30-Aug-08 11:14 
QuestionInheritance and type casting Pin
Dewald29-Aug-08 4:14
Dewald29-Aug-08 4:14 
AnswerRe: Inheritance and type casting Pin
Scott Dorman29-Aug-08 4:48
professionalScott Dorman29-Aug-08 4:48 
AnswerRe: Inheritance and type casting Pin
Abhishek Sur29-Aug-08 4:50
professionalAbhishek Sur29-Aug-08 4:50 
QuestionAttempted to read or write protected memory. This is often an indication that other memory is corrupt. Pin
Shpendh29-Aug-08 4:10
Shpendh29-Aug-08 4:10 
AnswerRe: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. Pin
Pete O'Hanlon29-Aug-08 4:40
mvePete O'Hanlon29-Aug-08 4:40 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.