>>Hi Gregory,
>>
>>>>Hi All,
>>>>
>>>>I have a method that returns a string if there is no file in a directory. I have stepped through this and watched this line get set to an empty string but when it comes back to the calling line of code, it is null. I am missing something and wonder if it is the way I did the while statement. Any ideas appreciated.
>>>>Thanks for the help
>>>>Tim
>>>>
>>>>When the return from PopQueue is set to "" then in my while statement the value of fileName is null. Why would this be?
>>>>
>>>>while ((fileName = this.PopQueue(path, filter)) != "" && llSuccess)
>>>>{
>>>> // Do all my stuff here, process each file returned until no more files are returned.
>>>>}
>>>>}
>>>>
>>>
>>>hi Tim,
>>>
>>>There's nothing wrong with the while statement. It's just that the debugger upon returning from PopQueue() still shows the old (null) value
>>>My guess is that the assignment hasn't executed yet, so filename is still null
>>>
>>>
>>>class test
>>>{
>>> static void Main(string[] args)
>>> {
>>> string fileName;
>>> bool success = true;
>>>
>>> while ((fileName = PopQueue()) != "" && success) // here it's still null in the debugger - after execution of PopQueue()
>>> {
>>> }
>>> // here it is ""
>>> Console.ReadLine();
>>> }
>>> static string PopQueue()
>>> {
>>> return "";
>>> }
>>>
>>>
>>>}
>>>
>>
>>I suspect I was jumping to a conclusion too soon as your comments make sense. I had a breakpoint on the While line and after the break each time i was Stepping Into the PopQueue() method. Whatching the directory I see no more files and PopQueue returns an empty string. After coming back to the while loop I was expecting the fileName to be "" but it was still null. Thus I still have the problem I was trying to figure out. Why do I have an endless loop in this while statement. If the PopQueue method returns an empty string I needed it to exit the loop. I had originally thought it was working, but then discovered the breakpoint continues to hit over and over regardless of the empty string. Any ideas?
>>Thanks, I think I learned something from you today and I am going to do some experiments to make sure I got it.
>>Tim
>
>Dunno, Tim, but why not returning null instead of "" if there are no files. [ the comparaison will be a bit faster ]
>
Wouldn't a return value of null imply it's unknown whether there are any files remaining in the queue, when in fact we know there are no more?