|
Did a double take then realized how it worked. That is a truely hideous hack .. I love it
Why write in 20 lines what you can in-line in 1
I'm largely language agnostic
After a while they all bug me
|
|
|
|
|
Or (I like most):
string TextToParse= "mississippi";
string TextToSearch= "i";
int Found = 0;
for(int startpoint=TextToParse.IndexOf(TextToSearch,0);startpoint>-1;startpoint = TextToParse.IndexOf(TextToSearch,startpoint+1))
{
Found++;
}
All the best,
Martin
|
|
|
|
|
1st :string str ="mississippi"; (for example),otherwise str store the string after taking the input by user
2nd :char ch ="i"; (for example),otherwise ch store the chracter after taking the input by user
3rd : int c=0;
4th :for(int i=0;i
|
|
|
|
|
only works with single characters...OP wanted words as well I think
"More functions should disregard input values and just return 12. It would make life easier." - comment posted on WTF
|
|
|
|
|
OR (beat this...;P)
string test = "this is the test to see if this returns three to this string";
string stringToFind = "this";
Console.Write(new Regex(stringToFind, RegexOptions.Multiline).Count);
"More functions should disregard input values and just return 12. It would make life easier." - comment posted on WTF
|
|
|
|
|
I think, nobody (without the intention todo so) will beat this performance leak! ;)
All the best,
Martin
|
|
|
|
|
Why? Are Regular Expressions slow and shouldn't be used? I've never used them in production...tell me more.
"More functions should disregard input values and just return 12. It would make life easier." - comment posted on WTF
|
|
|
|
|
Apart from that, it doesn't even compile!
All the best,
Martin
|
|
|
|
|
using System.Text.RegularExpressions; ??
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
namespace RegExTest
{
class Program
{
static void Main(string[] args)
{
string test = "this is the test to see if this returns three to this string";
Console.WriteLine(new Regex(stringToFind, RegexOptions.Multiline).Count);
}
}
}
Does for me.
-- modified at 5:55 Friday 3rd August, 2007
See later post - finger trouble!!
"More functions should disregard input values and just return 12. It would make life easier." - comment posted on WTF
|
|
|
|
|
Ahh,
You are using .Net >1.1 (I only have 1.1)
In my case the Regex class does not provide a "Count" property.
Also "using System.Collections.Generic;" is not possible for me.
But apart from that, where is your connection from the "test" string to the Regex?
All the best,
Martin
|
|
|
|
|
Sorry - my internet box is not my dev box and I can't copy type
I meant
Console.WriteLine( new Regex(stringToFind, RegexOptions.Multiline).Matches(test).Count);
"More functions should disregard input values and just return 12. It would make life easier." - comment posted on WTF
|
|
|
|
|
Ok,
I did a test with a loop over 10000 to show the difference.
one with:
for(int loop = 0;loop<10000; loop++)
{
Found=0;
for(int startpoint=TextToParse.IndexOf(TextToSearch,0);startpoint>-1;startpoint = TextToParse.IndexOf(TextToSearch,startpoint+1))
{
Found++;
}
}
timespan: "00:00:00.0312498"
and the regex:
for(int loop = 0;loop<10000; loop++)
{
Found = new Regex(TextToSearch, RegexOptions.Multiline).Matches(TextToParse).Count;
}
timespan: "00:00:00.1249992"
Shows factor 4. (Off corse, it is not allways factor 4)
All the best,
Martin
|
|
|
|
|
Its even more noticable when you ramp the loop up to 1M.
But....parse a really long string - eg 8k. The figures then swap round. reg ex is a lot quicker.
"More functions should disregard input values and just return 12. It would make life easier." - comment posted on WTF
|
|
|
|
|
Yes, using Regex has to be validated new for every task!
All the best,
Martin
|
|
|
|
|
Hi,
I want to manipulate the data as a small part of my project.In short I have an array[250,200] ,where numbers(actullay binary no.s) are stored .For simply let`s
int[,] array;<br />
array = new int[5, 5]; data are stored in array[,] as :
12345
12345
12345
12345
12345 OR
123451234512345123451234512345
I want manipulate the data as:
12345
54321
12345
54321
12345 OR
1234554321123455432112345
Means that :
Array[0,0]= Array[0,0];<br />
Array[0,1]= Array[0,1];<br />
Array[0,2]= Array[0,2];<br />
Array[0,3]= Array[0,3];<br />
Array[0,4]= Array[0,4];<br />
<br />
Array[1,0]= Array[1,4];<br />
Array[1,1]= Array[1,3];<br />
Array[1,2]= Array[1,2];<br />
Array[1,3]= Array[1,1];<br />
Array[1,4]= Array[1,0];<br />
<br />
<br />
Array[2,0]= Array[2,0];<br />
Array[2,1]= Array[2,1];<br />
Array[2,2]= Array[2,2];<br />
Array[2,3]= Array[2,3];<br />
Array[2,4]= Array[2,4];<br />
<br />
Array[3,0]= Array[3,4];<br />
Array[3,1]= Array[3,3];<br />
Array[3,2]= Array[3,2];<br />
Array[3,3]= Array[3,1];<br />
Array[3,4]= Array[3,0];<br />
<br />
Array[4,0]= Array[4,0];<br />
Array[4,1]= Array[4,1];<br />
Array[4,2]= Array[4,2];<br />
Array[4,3]= Array[4,3];<br />
Array[4,4]= Array[4,4];
Please send the strong and efficient logics because I have array[250,200]
|
|
|
|
|
Hello,
I'm allways using [][] instead of [,], so my example looks like this:
int[][] array = new int[5][];
for(int x=0;x<5;x++)
{
array[x] = new int[5];
}
for(int y = 0; y<array.Length; y++)
{
int[] actArray = array[y];
for(int x = 1; x<= actArray.Length; x++)
{
actArray[x-1] = x;
}
}
for(int x=1;x<5;x=x+2)
{
int[] actArray = new int[array[x].Length];
array[x].CopyTo(actArray,0);
for(int y = 0; y< array.Length; y++)
{
array[x][y] = actArray[array.Length-1-y];
}
}
All the best,
Martin
|
|
|
|
|
|
zeeShan anSari wrote: I can't understand......
Sorry!
Maybe if you copy it in your projects and debug it, you will!
All the best,
Martin
|
|
|
|
|
Hi,
Array.Reverse(array[]); is the best solution of my problem
thanks
|
|
|
|
|
Very nice! (Never used it)
Got my '5'.
All the best,
Martin
|
|
|
|
|
I think it is best!
For the 250,200 case, the basic code would be:
int[,] array = new int[250,200];
// code to initialize array
int[] reverse = new int[200];
for (int i = 0; i < 200; i++)
{
reverse[i] = array[0, 199 - i];
}
for (int i = 1; i < 250; i += 2)
{
for (int j = 0; j < 200; j++)
{
array[i,j] = reverse[j];
}
}
|
|
|
|
|
I got the Solution :
for ( int i = 0 ; i < 250 ; i++ )
{
for( int j = 0 ; j < 200 ; j++ )
{
if ( i%2 == 0 )
{
Array[i,j] = Array [ i, j ];
}
else
{
Array[i,j] = Array[ i, i-j ];
}
}
}
|
|
|
|
|
i have created the asmx code for the webservice and it works fine. it sends the data that i need to the database, but when i use the code behind page to send the information to the webservice, it does not send anything to the service even though the names are all correct etc.
please can someone send me the code for a code behind page to to a basic webservice so i can see if i have the wrong code.
ie.
if my webservice is sending a firstname to a database and i want the code behind page to take the text from a textbox and insert it into the database
thanks
Daniel
|
|
|
|
|
The code behind code is no different to any other app code that calls a database. Where is your code falling down ? Does the webservice call occur ? What happens ? Why do you need a webservice, are they not on the same server as each other ?
Christian Graus - Microsoft MVP - C++
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
this is what happens. i have a create account page where i need to invoke the users details into my database, the webservice side works well on its own when i test it but running just the asmx page, but as soon as i use the webpage to pass the values to the service, it throws an error. so i assume there is an error in my code behind?
|
|
|
|
|