|
|
Looking for some ideas on a framework for managing a 2 dimensional(dynamic size) array of objects. Something like a grid where one can access by row and column
|
|
|
|
|
Would a System.Collections.Generic.Dictionary<tkey,> suffice?
I are troll
|
|
|
|
|
Maybe you could try a List of Lists?
then write a function for getting with row column parameters
|
|
|
|
|
List<object> objCols = new List<object>();
List<list> objRows = new List<list>();
object GetCell(int row, int col)
{
return objRows[row][col];
}
Not tested but something along those lines perhaps
BTW 'List' can be found in System.Collections.Generic
modified on Friday, January 30, 2009 9:44 AM
|
|
|
|
|
Yes this sort of makes sense. I'll have to play with it a bit
thanks.
dale
|
|
|
|
|
Use the Dictionary object.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
Hi John, I'm not familiar with this Dictionary approach. Would you have a small snippet that might help.
|
|
|
|
|
I can't give you anything better than you'd find on google. Search on "C# Dictionary Collections". You'll get a gazillion examples.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
|
Hi, and thanks for your interest.
I am trying to run MS Robocopy from a service with the following code:
Process robo = new Process();
robo.StartInfo.FileName = "robocopy.exe";
robo.StartInfo.Arguments = "g:\\data *.pdf d:\\data\\pdf\\ /S /NP /Log+:c:\\logs\\robo\\robo.log";
robo.Start();
The service starts but the Robocopy process fails to start. Any help greatly appreciated.
C. Richard Wenger
System Administrator
|
|
|
|
|
your filename prob needs to be the full path of the executable
|
|
|
|
|
I dropped the Robocopy.exe in the system32 folder just to have it in the path and eliminate those issues and on your advice I included the full path to the executable but it still doesn't appear to be executing?
C. Richard Wenger
System Administrator
|
|
|
|
|
well as your only setting 2 things (filepath, and parameters) are you sure the parameter string is valid? I.e. tested with CMD or something?
I never used Robocopy so i wouldnt know the params, if both are valid then i would guess the problem is else where in your code.
What functionality does Robocopy do? is it not something you can code yiurself
|
|
|
|
|
Try running your service under a user account instead of LocalSystem and see what happens.
|
|
|
|
|
What does this do? I haven't been able to find a suitable explanation as to what it does and i found it in some code that someone gave me.
|
|
|
|
|
i think its something along the lines of:
If a is true, then result is b, otherwise result is c
|
|
|
|
|
x = a ? b : c;
is the shorthand version of
if (a)
{
x = b;
}
else
{
x = c;
}
|
|
|
|
|
Except that ?: counts as an expression, instead of a statement. So there are more places where you're allowed to use it.
Such as:
if (a?b:c) { }
or
int x = a?b:c;
(that doesn't mean you're wrong, I just think it might help bfis108137 to know that)
|
|
|
|
|
It's known as a ternary operator. Basically, this is an operator that reads like this: "If the condition is true then use the value immediately after the question mark, otherwise use the value after the colon". Another operator you may sometimes see is the ?? operator. This is known as the coalescing null operator, and is used in statements like this:
MyClass a = value1 ?? value2 ?? new MyClass(); This reads like this "MyClass a is assigned value1, unless value1 is null in which case, it will use value2, unless value2 is null in which cass it uses new MyClass();" This is an efficient way to assign a default value if a null value is encountered.
|
|
|
|
|
|
It's called a ternary operation, and is the shortcut of doing this:
int z = 0;
int x = 1;
int y = 2;
if (x==y)
{
z = x;
}
else
{
z = y;
}
z = (x ==y) ? x : y;
Many high-browed programmers don't like it, but as long as you keep it to just one comparison instead of stacking them, I think it's an acceptable coding practice.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
Right, it should not be abused; I would not use it as z = (x ==y) ? x : y; , because an if statement would work for that.
One situation I use it in is something like this:
string.Format
(
"{0} record{1} processed."
,
count
,
count==1?"":"s"
) ;
I find this more readable than the alternatives.
Whenever I see an application write something like, "1 records processed", I . Come on, guys, use the ternary operator!
|
|
|
|
|
hi...
If "a" is true then return value is "b"
else return value is "c"
EXAMPLE::
int nLargeNo=0, nFirstNo=100,nSecondNo=200;
nLargeNo = (nFirstNo>nSecondNo)?nFirstNo:nSecondNo;
Answer:
value of nLargeNo is 200
|
|
|
|
|
AnyBody Help me...
The .ocx file was registered in system using batch file,
Before run our application.Otherwise device is not supported in our application
If want to run our application in new system, that ocx file must be register now that is explicit.
now what i am want means, The ocx file registered through C# application
And Another important thing that is registered only when first time execution our application.
And further run our application, that registration code must be skip.
Doubt: If registered more than one times in same path or different path, what happened, and affected Operating System or harddisk.
|
|
|
|