|
Use HashSets rather than Lists
System.Collections.Generic.HashSet<string> match =
new System.Collections.Generic.HashSet<string>
{ "a", "b", "apple", "c", "grape" } ;
System.Collections.Generic.HashSet<string> fruits =
new System.Collections.Generic.HashSet<string>
{ "apple", "passionfruit", "banana", "mango", "orange", "blueberry", "grape", "strawberry" } ;
System.Collections.Generic.HashSet<string> intersection =
new System.Collections.Generic.HashSet<string>
(
match
) ;
intersection.IntersectWith ( fruits ) ;
Though it's even easier with my Set[^] class.
|
|
|
|
|
I have strings of type
"23"
"23 cm"
"45in"
I want to split them into numeric and text parts.
Can I do this using Regex.Split
What pattern to use ?
|
|
|
|
|
Why do you need regex for that?
I would do it 'by hand':
- remove spaces (if any) with string.Replace(" ", "")
- foreach character in the string, if it is numeric, append it to the numeric part, else append it to the letter part
|
|
|
|
|
The Match method would be more appropriate. Use a pattern like "^(\d+) ?(\w*)$".
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
Dunno, but you could catch the groups with a Regex
^(?'Value'\d*)\s*(?'Unit'\S*)
If there's match, look in:
Matches.Groups [ "Value" ].Value
Matches.Groups [ "Unit" ].Value
|
|
|
|
|
Hi,
I need method/example of said subject.
Thanks in advance
(Riaz)
|
|
|
|
|
Try add an Attribute KeyPressed to the cell of the DataGridView
|
|
|
|
|
private void MyDataGridViewInitializationMethod()
{
...
dataGridView.EditingControlShowing +=
new DataGridViewEditingControlShowingEventHandler(dataGridView_EditingControlShowing);
}
private void dataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
e.Control.KeyPress +=
new KeyPressEventHandler(Control_KeyPress);
}
private void Control_KeyPress(object sender, KeyPressEventArgs e)
{
if (char.IsNumber(e.KeyChar))
{
}
}
|
|
|
|
|
Hello,
I have a program written in Ansi-C, and I want to use the functions in a C# program.
How can I do this?
|
|
|
|
|
u acn call c program through DLLIMPORT functionality of c#
rahul
|
|
|
|
|
But therefore I have to create a DLL of the C-Programm?
|
|
|
|
|
|
Is it possible to make two projects in one workspace and make in the C# project a referenc to the C/C++ project??
|
|
|
|
|
strizi wrote: Is it possible to make two projects in one workspace and make in the C# project a referenc to the C/C++ project??
Why would you want to do that? Why not just use one language?
|
|
|
|
|
Because the C-Program is used for a "DOS-Compiler" and should also be used in a C# Project for a new Windows Application...
|
|
|
|
|
Try creating a C#, and a C/C++ class library project under the same solution, and link them.
Personally, I'd be searching for ways to do it all in one language if it were at all possible.
|
|
|
|
|
Meanwhile I have tried to link a C# and a C++ project in the same workspace. I can make the link in c# to the C++ project, but I can not use the functions from C++.
Please, can you give me a description how I have to link tht projects.
|
|
|
|
|
This might help
Otherwise "C# - link to c++ dll" in Google will give you plenty of examples.
Cheers,
|
|
|
|
|
Sorry, but is the only way to use the C++ functions in C# with DLL?
I dont want to generate a DLL, because I have to change the C-files (_dllexport....). And when I have to change the C-files, it´s better to invest the time to writte the Code in C#
I want only to copy the C-Files into the managed/unmanged C++ Project without any changes, and than using the functions in C#.
|
|
|
|
|
Yes - The only way is to use C++ files in C# is using a DLL.
|
|
|
|
|
As far as I know there are two common ways to do this. One is as mentioned (not particularly helpfully) through P/Invoke and use of attributes such as DLLImport . Note, I do not thing you need to recompile it as a DLL to achieve this.
The other (probably preferred method) is to change if possible the C executable into a C++/CLI or managed assembly. This will still allow you to use C for everything but you can then expose managed wrappers around the necessary functions for C# to call easily. In this instance you can simply add a reference to the project in Visual Studio and use it like it were another assembly written in C#.
|
|
|
|
|
I want to the second way.
I have create a C# and an C+/CLI project in the same workspace. I have also added a reference to the C# project, but I can not use any function.
Do you have a code-example?
|
|
|
|
|
Just put together a very simple application, I wasn't able to get it to reference methods in an executable but compiling the C++/CLI project as a library was fine. You can download it from here:
<a href="http://downloads.pooredesign.com/CS-Test.zip" rel="nofollow">http: The project was created using Visual Studio 2008 for your information.
|
|
|
|
|
Thanks a lot for the sample!!!
But I think, that I can not copy some C-files (*.c, *.h) to the project CLib without any changes on the files...
or, do you have any idea?
|
|
|
|
|
strizi wrote: But I think, that I can not copy some C-files (*.c, *.h) to the project CLib without any changes on the files...
Have you tried it? If it does not compile then there's cause for concern. If it does then all well and good.
|
|
|
|