|
Hi,
Im still quite new i the c# world.
My question is how to have a struct containing a pointer.
eg.:
For example. if I have a unsafe class containing
public struct Node
{
public int Value;
public Node* Left;
public Node* Right;
}
And add a node
public void add(int val)
{
Node n2 = new Node();
n.Right = &n2;
n2.Value = val;
n2.Right = null;
n2.Left= null;
}
And at last get it eg:
public void get()
Node l = *n.Right;
System.Windows.Forms.MessageBox.Show(l.Value.ToString());
How can I "pin" it so the garbege collector isn't moving it?
regards
|
|
|
|
|
since its unsafe code you can use the fixed keyword
"When the only tool you have is a hammer, a sore thumb you will have."
|
|
|
|
|
As I understand the fixed statement only pins the pointer only in tha fixed statement and not ouside.. So I cant find a solution to the above, cause then it only works in that only method?
|
|
|
|
|
depends what you are trying to do.
if the pointer is allocated externalling (i.e. by an api call rather than a managed call) then you don't need to worry as it will not move.
if it is allocated by managed code then you only need to lock it when you are calling external functions...
"When the only tool you have is a hammer, a sore thumb you will have."
|
|
|
|
|
Then I cant see the point in holding pointers in a datastruct!?!? or use pointers at all unless you are working with bytes and so on.. or am I wrong?
|
|
|
|
|
PeterJensen wrote:
Then I cant see the point in holding pointers in a datastruct!?!? or use pointers at all unless you are working with bytes and so on.. or am I wrong?
No dont you pointers at all. Thats why you have classes and they are passed by reference (unless they are a valuetype).
Who is this miscrosoft, and what devilish plans have they for us?
|
|
|
|
|
My problems is, that im in need of perfomance.. And I worry that c# isnt quick enough for my intentions..
I cant really see why MS has decided to use pointers?
|
|
|
|
|
PeterJensen wrote:
My problems is, that im in need of perfomance..
I dont think i simple class like the Node you describe would have much of a performance impact, there are much better and easier ways of gaining performance. Heck i'll mail you the zip from MSDN i downloaded on performance tweaking.
PeterJensen wrote:
I cant really see why MS has decided to use pointers?
Compatibility with non-managed systems AFAIK.
Who is this miscrosoft, and what devilish plans have they for us?
|
|
|
|
|
Thank you, for sending me the perfomance tweaking..
There is definetly alot to learn!
Its hard to start in a new "World"
Thanks again
|
|
|
|
|
just wondering.. is there a way to turn the console on...in a application through a commandline argument (-console) even though the program is compiled as a winexe or do i have to make my own console type app to show this ?
|
|
|
|
|
don't think so.
what you can do is compile as a console app and launch you application window, then hide the console window until you need it.
"When the only tool you have is a hammer, a sore thumb you will have."
|
|
|
|
|
how do you hide the console ? Console.Hide() or something ???
|
|
|
|
|
How to create a word document with sections' content combined from
other word documents?
What I mean is,
I've got 2 word documents and there are a certain identical
sections(header is identical) in those documents.
I want to create a third document with the content combined from both
of these word documents.
How do I do this in C# using winforms?
I have already tried dabbling with "Word" namespace, and the
DocumentClass()
No results...
So can any one help me out in this.
Thanks in advance....
Cheers/-- Vin
|
|
|
|
|
Record a word macro. Then translate the VBA code to C# code using the Word namespace (from the Office Primary Interop Assemblies, distributed by MS).
|
|
|
|
|
I tried to integrate a flex program with C# the way I used to integrate with VB6 but nothing is happening.
I want to know he correct way to do it. Is there any DLLs I have to attach?
Pls help me.
Thanks.
kind rgds,
Anjana Aluthwala
|
|
|
|
|
hi....
I would like to know whether there are any Web Form(ASP.NET) Controls which cant be used in Window forms & vice-versa?
regards,
sujith
|
|
|
|
|
Web Forms and Windows Forms are like Canada Dry. Looks like the same, smells like the same, but isn't the same at all. For instance, currently there is no ASP.NET treeview.
In fact, MS is releasing shortly a package[^] known as Internet Explorer Web Controls 1.0 which, unlike the name suggests, adds a few controls to the ASP.NET Toolbox.
But again, the only thing in common between Web forms and Windows forms is that you manage them in the same IDE, and they can be written using the same language (ie C# for instance).
We could say the same about the .NET compact framework controls. Canada dry.
The bad news is, yes, the code is different, then the bugs and behaviors are different as well. Business opportunity here for a company who would code a set of controls which would at run-time dynamically bind to the right context (ASP.NET, Windows, Pocket PC, ...).
|
|
|
|
|
Exactly correct, Win and Web Forms programming are not similar, in fact they are entirely different namespaces.
I worked with the asp:DataGrid and then thought working with DataGrid in windows would be easy, however, I had to relearn the DataGrid for WinForms.
Maybe it was too much work for Microsoft to dynamically bind to the correct context as mentioned in .S.Rodd's comment. I'm thinking since the WinForms probably resolves straight to WinAPI calls, it would be hard to keep same functionality between ASP controls and Win controls.
R.Bischoff | C++
.NET, Kommst du mit?
|
|
|
|
|
Soliant wrote:
I worked with the asp:DataGrid and then thought working with DataGrid in windows would be easy, however, I had to relearn the DataGrid for WinForms
I can understand it as the DataGrid is not at all what we would have thought it was, i.e. the famous FlexGrid (ActiveX) control.
|
|
|
|
|
I have a control I am making that I want to sit in the System try until F7 is pressed. Anyone know how to go about looking at all the keys being pressed on the system...
Thanks very much,
Scan
|
|
|
|
|
Look Cp and MSDN with the hotkey keyword.
|
|
|
|
|
|
Are properties slow or fast to use? What I mean is: Isn't
class A
{
int i;
A()
{}
public int I
{
get { return i; }
set { i = value; }
}
}
A a = new A();
a.I = 5;
int b = a.I;
// slower than:
class A
{
public int i;
A()
{}
}
A a = new A();
a.i = 5;
int b = a.i;
And another question: if a function is called 100x a second (or more) which creates/returns objects (structs and classes) as data, won't this have an impact on performance (for real time stuff - for example user input) ?
If it is not efficient, what optimizations are possible or how should it be done properly?
Thank you in advance and don't kill beginners for stupid questions
|
|
|
|
|
The JIT compiler (only on the release version of your assemblies) will inline any method with less than 32 bytes of IL.
I see dumb people
|
|
|
|
|
Can you call processes on another machine via SSH using the C# base class library? I'm looking to be able to access Unix on another box and am ONLY allowed in via SSH or web services using SSL. I'm planning to build some web services, but would like the ability to get in via SSH.
Chuck King
|
|
|
|