|
Ok then, what is 'tn' and what was the error.
My current favourite word is: Bauble!
-SK Genius
|
|
|
|
|
tn is the treenode and if I put bool checked; then it says identifier expected. How should I replace this code str = tn.Checked.ToString(); with this code or how to modify this code further bool checked;
tn.Checked;
|
|
|
|
|
I need to write a C# method that will double the values of 2 variables A and B in the calling program by passing these parameters by reference. I'm not really sure where to begin on this, any help would be greatly appreciated!
|
|
|
|
|
Function:
<br />
public void doub(ref int a, ref int b)<br />
{<br />
a *= 2;<br />
b *= 2;<br />
}<br />
and you would call it like this:
<br />
doub (ref var_name1, ref var_name2);<br />
In my opinion using a function to do that is overkill. Keep in mind that some variable types pass by reference and not value, an example would be String (capital S). If the data type is dark blue it's a primitive (pass by value), if it is light blue it is an object (passes by reference).
Example of primitive types: boolean, int, char
Example of Objects: Form, String
|
|
|
|
|
You've obviously just done this guy's homework for him, I can't see any real world reason to be asking for what he did.
Christian Graus - Microsoft MVP - C++
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
Christian Graus wrote: You've obviously just done this guy's homework for him, I can't see any real world reason to be asking for what he did.
Ahem:
jordanwb wrote: In my opinion using a function to do that is overkill.
|
|
|
|
|
Precisely. I agree, it's overkill, and therefore, odds are 99% that you did his homework.
Christian Graus - Microsoft MVP - C++
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
Christian Graus wrote: odds are 99% that you did his homework.
I agree and he probably also helped him not be able to solve a problem on his own either.
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
Jordanwb wrote: In my opinion using a function to do that is overkill.
In this case I agree, I'd use even extremely simple function if it increased readability, which is not the case. Performance-wise it's equal, this is going to be inlined.
Jordanwb wrote: Keep in mind that some variable types pass by reference and not value, an example
would be String (capital S). If the data type is dark blue it's a primitive (pass by value), if it is light blue it is an object (passes by reference).
First, .NET System.String type and C# string type are exactly THE SAME type. And it's passed by reference. There happen to be two primitive types that are not value types - string and object. Whenever you make your own type that derives (even indirectly) from <c>ValueType, its passed by value. And guess what, it appears light blue in editor. So wrong, wrong and wrong.
[ My Blog] "Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn "Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne Metcalfe
|
|
|
|
|
You probably just did his homework assignment for him and enabled himn to learn how to mooch off of other people when he can't solve his own problem.
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
Okay next time someone needs help I won't help him and tell him to stop being a mooch. There you happy?
|
|
|
|
|
No, help them, but don't do it for them.
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
Any of you fine C# folks care to tackle this problem in an elegant way?
- we have a list of Nodes and we want to group them by parent
- we want to return the Foo attached to each Node, grouped by parent's Foo
Given that:
- each Node knows its parent Node, e.g. someNode.Parent
- the parent Node can be null
- each Node has data attached to it of type Foo, e.g. someNode.Foo
I want a function that takes Nodes and returns their Foos, grouped by parent. (e.g. something that returns Foos grouped by parent Foos)
Any takers?
|
|
|
|
|
Dictionary<ParentNode, List<Foo>> is what you want to return, I'd have thought ?
Christian Graus - Microsoft MVP - C++
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
I need it all grouped by Foo. In other words, something like Dictionary<Foo, List<Foo>>
|
|
|
|
|
Something like this:
Dictionary<Foo, List<Foo>> GroupFoos(List<Foo> list);
Dictionary<Foo, List<Foo>> dict = new Dictionary<Foo, List<Foo>();
foreach (Foo foo in list) {
List<Foo> group;
if (!dict.TryGetValue(foo.Parent, out group) {
group = new List<Foo>;
dict.Add(foo.Parent, group);
}
group.Add(foo);
}
return dict;
}
Experience is the sum of all the mistakes you have done.
|
|
|
|
|
I'm afraid the Dictionary class doesn't allow for null keys.
|
|
|
|
|
Right... Then just check if the parent is null, and handle them separately:
Dictionary<foo, List<Foo>> GroupFoos(List<Foo> list) {
Dictionary<Foo, List<Foo>> dict = new Dictionary<Foo, List<Foo>>();
foreach (Foo foo in list) {
if (foo.Parent == null) {
if (!dict.ContainsKey(foo) {
dict.Add(foo, new List<Foo>());
}
} else
List<Foo> group;
if (!dict.TryGetValue(foo.Parent, out group) {
group = new List<Foo>;
dict.Add(foo.Parent, group);
}
group.Add(foo);
}
}
return dict;
}
Now you have the parent elements in the Keys collection of the dictionary.
Experience is the sum of all the mistakes you have done.
modified on Friday, December 21, 2007 1:27:17 AM
|
|
|
|
|
Keeping in mind you already have them in a structure which does this - so I would only do this if you actually have to pass a Dictionary< Foo, List< Foo>> to something. Anything internal can just look at the existing structure.
Sounds like the first thing you are missing is that given a Foo you can't lookup the Node it belongs to. Solve that first. If you can't add a Foo.parentNode member then you might have to keep around a Dictionary <foo, node=""> somewhere while you manipulate this structure.
Then its fairly trivial to get Foo's under a given Foo.
IEnumerable< Foo> FoosThatAreUnderAGivenFooWowBadName(Foo parent)<br />
{<br />
foreach(Node n in parent.parentNode.ChildNodes)<br />
yield return n.Foo;<br />
}
Then I guess if you really really want its trivial to pull that out into a Dictionary< Foo, List< Foo>> kind of structure, but I don't entirely recommend that unless theres a compelling reason to do so.
|
|
|
|
|
Mark Churchill wrote: Keeping in mind you already have them in a structure which does this - so I would only do this if you actually have to pass a Dictionary< Foo, List< Foo>> to something. Anything internal can just look at the existing structure.
I am passing the Foos to a part of the program that doesn't know about Nodes. It only knows about and cares about Foos.
Mark Churchill wrote: its trivial to pull that out into a Dictionary< Foo, List< Foo>> kind of structure
Dictionary<k,v> doesn't permit null values as keys, unfortunately.
|
|
|
|
|
Ok, so the part thats only knowing about Foos - what operations is it going to perform on the grouped Foos? Is this a seperate clump of data that will be passed out, or is it fine if the other section queries the existing structure?
Does it have to be serializable?
null keys make an elegant structure a pain - you could inherit Dictionary and keep a seperate list of unparented Foos... basically adding null keys to a dictionary. Bit of work though.
You could also attempt to provide a singleton "null" Foo - similar to DBNull.Value and use that exclusively for keying a Dictionary< Foo, List< Foo>> structure.
Elegance really is going to depend on what the consuming code wants to do with these Foos. :P
|
|
|
|
|
I have an application that needs to save some translated files.
So I did what any developer would and incorporated a SaveFileDialog into the project.
It is configured for CreatePrompt = true.
When I run the application and give it a filename inside a folder (that I have the rights to write files to) I click save and get a dialog box that basically says:
Hey, that file doesn't exist!
Then I only get a button to say Okay .. but no button to Create.
Has anyone else experienced this? I see examples EVERYWHERE that I should totally be able to provide a new file name and expect to get it created without the Dialog box from actually blocking me from creating a file!
Thanks,
Michael
|
|
|
|
|
theRealCondor wrote: Has anyone else experienced this?
Nope.
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
I am attempting to synchronize my system clock with an NTP server using SNTP. I have found a number of publicly available NTP servers hosted by NIST and affiliates here[^]. I also found a reference to the type of message I will receive from the server here[^]. However, I don't know how to get this response from the server. Does anyone have experience with something like this that he or she will share with me? Thanks,
Sounds like somebody's got a case of the Mondays
-Jeff
|
|
|
|
|
I found the answer... you send a byte array with 48 empty bytes as a udp client, then listen with the same client for a response. The code is as follows, where m_ep is the IpEndpoint of a NTP server (port 123):
private static readonly IPEndPoint MY_IPEP = new IPEndPoint(IPAddress.Any, 0);
private void GetTime(object clientObj) {
UdpClient client = (UdpClient)clientObj;
byte[] result = client.Receive(ref m_ep);
...
}
private void button1_Click(object sender, EventArgs e) {
UdpClient client = new UdpClient();
client.Client.Bind(MY_IPEP);
new Thread(new ParameterizedThreadStart(GetTime)).Start(client);
byte[] message = new byte[48];
message[0] = 0x1B;
client.Send(message, 48, m_ep);
} Hope this helps someone.
Sounds like somebody's got a case of the Mondays
-Jeff
|
|
|
|