2

我有一个程序见下文

我做了这个方法,但我想在控制台中显示它,而不是像 console.writeline(str.length) 这样简单的方法。我想使用我制作的方法。

有人可以帮我吗

提前致谢

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "dit is een test 1,2,3";
            Console.WriteLine(str);
        }

        public int CountAllNumbersAndChar(string str) 
        { 
            return str.Length; 
        }

    }
}

更新:

我现在有以下程序

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "this is a test 1,2,3";
            int length = CountAllNumbersAndChar(str);
            Console.WriteLine(str);
            Console.WriteLine(length);// met de methode maar kan handiger met onderstaand voor beeld
      // Console.WriteLine(str.Length);
       // int numbers = str.Count(Char.IsNumber); // de makelijkste makelijke manier 
        //Console.WriteLine(numbers);
        int countnumber = CountNumbers(str) ;
        Console.WriteLine(countnumber);
        int countwords = words(str);
        Console.WriteLine(countwords);


    }

    public static int CountAllNumbersAndChar(string str)
    {
        return str.Length;
    }
    public static int CountNumbers(string str)
    {
        return str.Count(Char.IsNumber);
    }
    public static int words(string str)
    {
        int words = str.Split().Count(str => str.All(Char.IsLetter));
    }
}

}

但它仍然不起作用有人能告诉我我必须改变什么吗?

4

4 回答 4

4

这是你想要的吗?

Console.WriteLine(CountAllNumbersAndChar(str));
于 2009-09-26T08:13:04.803 回答
2

这是你如何做到的。请注意 下面的代码。如果您不将其声明为 ,则无法调用from 。public static int CountAllNumbersAndChar(string str)CountAllNumbersAndCharMainstatic

using System; 
using System.Collections.Generic; 
using System.Linq;
using System.Text;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "this is a test 1,2,3";
            int length = CountAllNumbersAndChar(str);    

            Console.WriteLine(length);
        }

        public static int CountAllNumbersAndChar(string str) 
        { 
            return str.Length; 
        }
    }
}
于 2009-09-26T08:15:21.267 回答
0

您可以将 LINQ 用于所有这些任务。虽然我不确定你是否熟悉它。不过这真的很简单,所以看看代码,看看你是否可以遵循。

string str = "dit is een test 1,2,3";

// Length of the string
int chars = str.Length;

// LINQ: Count all characters that is a number
int numbers = str.Count(Char.IsNumber);

// LINQ: Split the string on whitespace and count the 
// elements that contains only letters
int words = str.Split().Count(s => s.All(Char.IsLetter));

Console.WriteLine(chars); // -> 21
Console.WriteLine(numbers); // -> 3
Console.WriteLine(words); // -> 4

当然,我计算单词的方式并不完美,但它应该能让你开始。要获得更准确的方法,您应该使用谷歌搜索,因为那里有数百个示例。

于 2009-09-26T09:00:03.940 回答
0

我想你想计算你的字符串中的数字数量

      public int CountAllNumbersAndChar(string str)         
       {
           return  str.Split(new char[]{' ',','},
         StringSplitOptions.RemoveEmptyEntries).Count    
         (
           x=>
           {
               int d;
               return int.TryParse(x,out d);
           }
        );   
       }
于 2009-09-26T09:19:18.410 回答